Скрыть параметр контроллера в документации Swagger - PullRequest
0 голосов
/ 23 октября 2018

Я использую swagger-jersey2-jaxrs для генерации swagger.json.Это мой код Java:

@Path("/example")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ApiImplicitParams({
        @ApiImplicitParam(name = "object", required = true, dataTypeClass = MyObject.class, paramType = "body")
})
@ApiOperation(value = "Return one entity", notes = "Returns one entity at random", response = CommonResponse.class)
public String getStuff(String requestString) {...}

И в результате я получил swagger.json файл:

"parameters": [
          {
            "in": "body",
            "name": "body", // SHOULD BE REMOVED
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "body",
            "name": "object", // I ONLY WANT THIS
            "required": true,
            "schema": {
              "$ref": "#/definitions/MyObject"
            }
          }
        ]

Как я знаю String requestString сгенерирует имя параметра = "тело"по умолчанию.Как я могу удалить это?Я просто хочу, чтобы мой параметр name = "object" появился.

1 Ответ

0 голосов
/ 23 октября 2018

Используя аннотацию @ApiParam из io.swagger.annotations, вы можете скрыть параметры.Для этого установите в поле hidden значение true.

...
public String getStuff(
    @ApiParam(hidden = true) String requestString) {...}
.
...