У меня есть контроллер отдыха с одним методом. Этот метод принимает один аргумент String
, аннотированный как @RequestBody
. По какой-то причине, не упомянутой здесь, я вынужден использовать тип String
и вручную преобразовывать его в TestDTO
. С точки зрения потребителя API тело имеет тип TestDTO
, и я хочу показать этот тип в SwaggerUI.
К сожалению (что вполне очевидно), чванство показывает, что тело имеет тип String
. Посмотрите на картинку ниже.
Чего я хочу добиться, так это иметь тело String
в коде Java и TestDTO
в коде чванства. Как я могу заставить Swagger показать это? Я пытался найти аннотации и их свойства, но безуспешно.
Код контроллера отдыха ниже:
@RestController
@Api(tags = { "test" }, description = "test related resources")
public class TestController {
@Autowired
ObjectMapper mapper;
@RequestMapping(path = "/test", method = RequestMethod.POST)
public void confirm(@RequestBody String requestBody) throws IOException {
//do sth with body
TestDTO dto = mapper.readValue(requestBody, TestDTO.class);
//do sth with dto
}
}
class TestDTO{
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}