gpt4 book ai didi

spring-boot - springdoc Swagger UI 不发布 JSON

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

我有一个使用 springdoc-openapi-ui 支持 Swagger 的 Spring Boot REST 应用程序。对于我的生活,我无法让生成的 Swagger UI 实际发布 JSON。相反,前端将 args 作为请求参数传递。如何让 Swagger UI 实际提交 JSON?

@Data
public static class SampleData {
private String info;
}

@PostMapping(value = "/test", consumes = "application/json")
public void postData(@ParameterObject @RequestBody SampleData data) {
// do something
}

在 Swagger UI 中单击“试用”和“执行”后,请求失败并显示:

{
"status": 415,
"error": "Unsupported Media Type",
...
}

因为 UI 试图 POST 这个:

http://localhost:8080/myapp/v1/test?info=test

生成的 curl 命令也不正确(不是 POSTing JSON):

curl -X 'POST' \
'http://localhost:8080/myapp/v1/test?info=test' \
-H 'accept: */*' \
-d ''

请注意,如果我删除 @ParameterObject 注释,Swagger UI 将发布 JSON。但是,UI 不会呈现用户友好的形式(在完整示例中包含该 bean 中字段的文档注释)

我错过了什么?

Spring Boot:2.6.3,springdoc-openapi-ui:1.6.5

最佳答案

springdoc github 的解决方案是删除@ParameterObject 注释并切换到 UI 中的“Schema” View 以查看 POJO 字段的文档。不完全是我希望的解决方案,但它有效。 github.com/springdoc/springdoc-openapi/issues/1482

关于spring-boot - springdoc Swagger UI 不发布 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70898701/

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