You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot整合GraphQL与PostgreSQL配置问题求助

解决方案

一、解决GraphQL端点404错误

1. 确认依赖配置

确保项目包含Spring GraphQL核心依赖和Web支持依赖:

  • Maven(pom.xml):
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-graphql</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 你的PostgreSQL、JPA依赖已存在,此处省略 -->
</dependencies>
  • Gradle(build.gradle):
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-graphql'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // 你的PostgreSQL、JPA依赖已存在,此处省略
}

2. 显式配置GraphQL端点

在application.properties中添加(默认路径就是/graphql,显式配置避免歧义):

spring.graphql.path=/graphql

3. 定义至少一个GraphQL查询

Spring GraphQL需要存在可执行的查询定义才能激活端点,示例如下:

  1. 创建实体类:
@Entity
public class Book {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String title;
    private String author;

    // 生成Getters、Setters、构造方法
}
  1. 创建GraphQL控制器:
@Controller
public class BookController {
    @Autowired
    private BookRepository bookRepository;

    @QueryMapping
    public List<Book> getAllBooks() {
        return bookRepository.findAll();
    }
}
  1. 创建Repository接口:
public interface BookRepository extends JpaRepository<Book, Long> {
}

二、启用并访问GraphiQL

1. 开启GraphiQL支持

在application.properties中添加配置:

spring.graphql.graphiql.enabled=true

2. 正确访问GraphiQL

访问地址为:http://localhost:8080/graphiql(你之前遗漏了端口8080)。

三、验证Altair配置

确保Altair中:

  • 请求URL设置为http://localhost:8080/graphql
  • 请求方法选择POST(GraphQL默认使用POST方法)
  • 重启应用后再发送查询请求

内容的提问来源于stack exchange,提问作者Sahan Kodituwakku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 21:39:56