Swagger 我需要在springdoc openapi中为@Parameter添加多个示例,但这不会生成给定的示例

Swagger 我需要在springdoc openapi中为@Parameter添加多个示例,但这不会生成给定的示例,swagger,openapi,swagger-3.0,springdoc-openapi-ui,Swagger,Openapi,Swagger 3.0,Springdoc Openapi Ui,我正在尝试向我的项目中添加招摇文档。 我需要为Sample.class的@RequestBody中的@Parameter添加多个示例,下面的代码是如何在文档中编写它的 @PostMapping("/") public Sample createSample(@Parameter(description="Sample description", examples = { @ExampleObject(name="foo", description = "na",s

我正在尝试向我的项目中添加招摇文档。 我需要为Sample.class的@RequestBody中的@Parameter添加多个示例,下面的代码是如何在文档中编写它的

@PostMapping("/")
    public Sample createSample(@Parameter(description="Sample description", examples = {
            @ExampleObject(name="foo", description = "na",summary = "na",value = "{\n" +
                    "  \"id\": 10,\n" +
                    "  \"name\": \"ashith\",\n" +
                    "  \"description\": \"none\"\n" +
                    "}"),
            @ExampleObject(name="bar",description = "na",summary = "na",value = "{\n" +
                    "  \"id\": 20,\n" +
                    "  \"name\": \"Akshatha\",\n" +
                    "  \"description\": \"ok\"\n" +
                    "}")
    }
    )
                                   @RequestBody Sample sample) {


正在生成的yaml输出如下所示:

openapi: 3.0.1
info:
  title: OpenAPI definition
  version: v0
servers:
  - url: 'http://localhost:8080/'
    description: Generated server url
paths:
  /api/another/:
    post:
      tags:
        - another-controller
      operationId: createSample
      requestBody:
        description: Sample description
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sample'
        required: true
      responses:
        '200':
          description: default response
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Sample'
        '400':
          description: default response
          content:
            '*/*':
              schema:
                type: string
        '404':
          description: default response
          content:
            '*/*':
              schema:
                type: string

这似乎缺少了根据代码

@Parameter
使用的
参数
应该添加的示例,该参数指定它是openapi提供的标题、查询还是路径(参见下文)

相反,您应该使用openapi库中的
RequestBody
,如下所示

@io.swagger.v3.oas.annotations.parameters.RequestBody(content = {
        @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
            @ExampleObject(value = "{\"key1\": \"example1\", \"key2\":\"example1\", \"key3\":\"example1\"}"),
            @ExampleObject(value = "{\"key1\": \"example2\", \"key2\":\"example2\", \"key3\":\"example2\"}")
            })
    })
您可以在方法或参数级别添加此项

@io.swagger.v3.oas.annotations.parameters.RequestBody(content = {
        @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
            @ExampleObject(value = "{\"key1\": \"example1\", \"key2\":\"example1\", \"key3\":\"example1\"}"),
            @ExampleObject(value = "{\"key1\": \"example2\", \"key2\":\"example2\", \"key3\":\"example2\"}")
            })
    })