Вручную указать тело запроса POST в весенней загрузке Swagger - PullRequest
0 голосов
/ 26 марта 2019

Я написал фрагмент кода ниже:

@PostMapping(path = "/process", produces = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation(value = "Get process with given ID", produces = MediaType.APPLICATION_JSON_VALUE,
        response = ProcessType.class)
public ResponseEntity<ProcessType> createProcessType(
        @RequestBody
        @DTO(ProcessTypeDto.class) ProcessType processType
) {
    log.info("POST called on /process");

    ProcessType processTypeResult;
...
...
}

, который прекрасно работает. Но моя проблема с чванством. Я сделал пользовательскую аннотацию @DTO, которая автоматически отображает один класс в другой. Но swagger видит мое ProcessType тело запроса и показывает примеры в пользовательском интерфейсе этого класса, а не ProcessTypeDto. Если я удаляю то, что показывает swagger, и POST ProcessTypeDto, код работает, я просто хотел бы, чтобы swagger показывал ProcessTypeDto в качестве примера по умолчанию для этой конечной точки, так как это нарушило бы codegen.

Есть ли способ вручную указать, какое тело запроса я хотел бы получить от swaggers POV, переопределяющим то, чем является мой @Requestbody?

1 Ответ

1 голос
/ 26 марта 2019

похоже вам пока не повезло, он выйдет в версии 2.0

вот что вы ищете https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Annotations#requestbody

или, по крайней мере, вы можете начать использовать релиз-кандидата https://mvnrepository.com/artifact/io.swagger/swagger-core

...