gpt4 book ai didi

spring - 为什么 Swagger 的 api-docs 响应包含在额外的 JSON 对象中?

转载 作者:行者123 更新时间:2023-12-05 06:43:01 24 4
gpt4 key购买 nike

我通过包含依赖项向我的 Spring Boot 应用程序添加了 swagger:

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.3.1</version>
</dependency>

并添加一个配置类:

@Configuration
@EnableSwagger2
public class SwaggerConfig {

@Bean
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(Predicates.or(PathSelectors.regex("...")))
.build()
.apiInfo(apiInfo());
}

private ApiInfo apiInfo() {
return new ApiInfo(...);
}
}

我现在可以访问 /v2/api-docs 并获取一些似乎描述我的 API 的 JSON。但是,JSON 包装在另一个 JSON 对象中,如下所示(缩写):
{“值”:“{\” Swagger\“:\”2.0\“,\”信息\“:...}

{"value": "..."} 对象不是必需的,它会导致 swagger-ui 出错。 PetStore 示例没有这个额外的级别。这是一个错误?还是配置问题?

PS:我还创建了一个github issue为此

最佳答案

https://github.com/springfox/springfox/issues/1156 的家伙们给我指明了正确的方向。问题如下:

我使用 Gson 而不是 Jackson 来反序列化 Json。当 springfox.documentation.spring.web.json.Json 类型的对象被序列化时,Jackson 会考虑包含的注释,但会被 Gson 忽略。

关于spring - 为什么 Swagger 的 api-docs 响应包含在额外的 JSON 对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35034405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com