如何用Spring Boot GraphQL SPQR库生成GraphiQL可查看的API文档?
在Spring Boot GraphQL SPQR中生成GraphiQL可显示的API文档
要让字段的描述信息(比如示例中的"comma separated location IDs. (eg: '5,12,27')")在GraphiQL中显示,可通过以下方式实现:
1. 使用JavaDoc注释
GraphQL SPQR默认会读取字段的JavaDoc内容作为GraphQL字段的描述信息,直接在DTO类的字段上添加对应注释即可:
public class LocationRequest { /** * comma separated location IDs. (eg: '5,12,27') */ private String locationIds; // 对应的getter、setter方法 }
2. 使用@GraphQLDescription注解
如果不想依赖JavaDoc,可直接使用SPQR提供的@GraphQLDescription注解显式指定描述:
import io.leangen.graphql.annotations.GraphQLDescription; public class LocationRequest { @GraphQLDescription("comma separated location IDs. (eg: '5,12,27')") private String locationIds; // 对应的getter、setter方法 }
3. 确认SPQR配置正常
默认情况下SPQR会自动生成文档信息,若有自定义Schema生成逻辑,确保未关闭文档相关配置,示例基础配置如下:
import io.leangen.graphql.GraphQLSchemaGenerator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class GraphQLConfig { @Bean public GraphQLSchema graphQLSchema(YourQueryResolver queryResolver) { return new GraphQLSchemaGenerator() .withOperationsFromSingleton(queryResolver) // 无需额外关闭文档的配置,默认启用 .generate(); } }
完成上述配置后,启动Spring Boot应用,访问GraphiQL界面(通常路径为/graphiql),查看对应字段的定义即可看到设置的描述文本。
内容的提问来源于stack exchange,提问作者gp185007
相关产品推荐
相关产品推荐

