【问题标题】:Adding Example RequestBody in swagger micronaut在 swagger micronaut 中添加示例 RequestBody
【发布时间】:2020-03-22 07:38:31
【问题描述】:

我使用https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html 中提供的说明为 micronaut 生成了 swagger

所以我有一个控制器方法,例如:

    @Consumes("application/vnd.api+json")
    @Produces("application/vnd.api+json")
    @Post("/{id}/users")
    @RequestBody
    public HttpResponse addAndAssignTarget(@PathVariable("id") Long projectId, @Body @Parameter() JsonNode user) {

我没有使用 POJO 来添加用户,这与这个问题的上下文无关。因此,生成的 swagger ui 显示 {} 作为请求正文的示例。我想把它改成类似的东西。我该怎么做?

{
    "data" : {
            "type": "projects",
            "attributes": {
                "name": "some-name1",
                "description": "some-description",
                "partner_company": "some-compnay"
            }
    }
}

【问题讨论】:

  • 你有解决办法吗?

标签: swagger micronaut


【解决方案1】:

如果使用 POJO 看起来会好很多。但是,您可以将示例添加为字符串,但问题是如果您有任何嵌套对象,引号将不好看(将被转义“):

@Consumes("application/vnd.api+json")
@Produces("application/vnd.api+json")
@Post("/{id}/users")
@RequestBody
public HttpResponse addAndAssignTarget(@PathVariable("id") Long projectId,
@Body @RequestBody(content = @Content(schema = @Schema(example = "[0, 2, 3]"))) JsonNode user){

}

它也不是一个参数,而是一个 @Body@RequestBody 用于注释目的。

输出将是:

"[0, 2, 3]"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-02
    • 2020-06-18
    • 2023-01-19
    • 2022-07-12
    • 2018-12-05
    • 2021-03-16
    • 2021-05-19
    • 2016-02-17
    相关资源
    最近更新 更多