因此,根据graphql-java-kickstart/graphql-java-kickstart tools,当依赖项'com.graphql-java-kickstart:graphql-spring-boot-starter'被添加到项目中,并且.graphqls模式文件被自动扫描时,'graphql'endpoint将变得可用。
我有以下依赖关系:
...
<spring-boot.version>2.3.3.RELEASE</spring-boot.version>
<graphql.version>7.0.1</graphql.version>
<graphql-java-tools.version>6.2.0</graphql-java-tools.version>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<!-- graphql -->
<dependency>
<groupId>com.graphql-java-kickstart</groupId>
<artifactId>graphql-spring-boot-starter</artifactId>
<version>${graphql.version}</version>
</dependency>
<dependency>
<groupId>com.graphql-java-kickstart</groupId>
<artifactId>graphiql-spring-boot-starter</artifactId>
<version>${graphql.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.graphql-java-kickstart</groupId>
<artifactId>graphql-java-tools</artifactId>
<version>${graphql-java-tools.version}</version>
</dependency>
架构定义:
in query.graphqls:
type Query {
user(username: String!)
users: [User]
}
in user.graphqls:
type User {
userId: Number!
username: String!
}
和一个GraphQLQueryResolver:
@Component
public class UserQueryResolver implements GraphQLQueryResolver {
private final UserRepository userRepository;
public UserQueryResolver(UserRepository userRepository) {
this.userRepository = userRepository;
}
public Iterable<User> users() {
return this.userRepository.findAll();
}
public User user(String username) {
return this.userRepository.findByUsername(username).orElseThrow();
}
}
public interface UserRepository extends JpaRepository<User, Integer> {
Optional<User> findByUsername(String username);
}
根据文件:
我想我已经有了它需要的一切,但是导航到localhost:8080/graphql
会得到404。注意:localhost:8080/graphiql
有效,但无法加载架构。上面写着:
{
"timestamp": "2020-09-15T12:22:21.748+00:00",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/graphql"
}
我错过了什么?
显然,应用程序找不到任何JpaRepositories,因为SpringBootApplication starter类位于com.package.some.app,而存储库位于com.package.some.domain.repositories。组件扫描仪只扫描包为com.package.som.app.*的组件
GraphQL Java Tools This library allows you to use the GraphQL schema language to build your graphql-java schema.Inspired by graphql-tools, it parses the given GraphQL schema and allows you to BYOO (br
GraphQL Tools 是一套用于快速开发 GraphQL Schemas 的实用工具。GraphQL Tools 是一组 NPM 包和一个关于如何在 JavaScript 中构建 GraphQL 模式和解析器的结构,遵循 GraphQL-first 开发工作流程。 @graphql-tools/*包中的函数不仅对构建服务器有用。它们也可以在浏览器中使用,例如在开发或测试期间模拟后端。 它们适
问题内容: 我拥有Eclipse和Java SE,并且正在运行Windows XP,并尝试为Eclipse设置Android。 我先来: 访问http://developer.android.com。2.在出现的主页上,单击链接以下载Android SDK。3.找到适合您的操作系统(Windows,Mac OS X或Linux)的链接。4.单击链接开始下载。 我安装了Android SDK工具 然
由于我已经更新到Android SDK工具v.23,AVD管理器不允许我启动模拟器。 “模拟器:错误:x86仿真当前需要硬件加速!请确保Intel HAXM已正确安装并可用。CPU加速状态:此计算机上未安装HAX(/dev/HAX缺失)。” 我的笔记本电脑不支持虚拟化。但是,在Android SDK工具的第22版之前,我的模拟器工作正常(速度不是很快,因为没有安装HAX,但是它仍然比ARM图像好)
我正在尝试定义一个Java 9模块。我定义了类似的东西: 然后,我的许多文件开始给我错误,他们找不到一些包。然后我使用了IntelliJ的自动帮助功能,并将其添加到我的模块信息中。java中有几个“requires”语句。所以它变成了这样: 现在IntelliJ显示了我所有的代码,没有错误。但当我在“Maven项目”窗口中单击“编译”(我使用Maven 3.5.3和Oracle JDK 10进行编
在我的Spring Boot应用程序中,我从Thymeleaf切换到JSP,它在我的本地计算机上正常工作,但当我将它上传到Heroku服务器时,我发现出现了一个意外错误(type=notfound,status=404)/WEB-INF/jsp/home。jsp 它的罐子打包,如果它在本地工作,但不是在Heroku服务器上,这意味着什么?