У меня есть контроллер покоя с одним методом.Этот метод принимает один String
аргумент, аннотированный как @RequestBody
.По какой-то причине, не упомянутой здесь, я вынужден использовать тип String
и вручную преобразовать его в TestDTO
.С точки зрения потребителя API тело имеет тип TestDTO
, и я хочу показать этот тип в SwaggerUI.
К сожалению (что вполне очевидно), swagger показывает, что тело имеет тип String
.Посмотрите на картинку ниже.
Чего я хочу добиться, так это иметь String
body в java-коде и TestDTO
в коде swagger.Как я могу заставить 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;
}
}