У меня ниже контроллер отдыха springboot и я использую springdoc-openapi. Моя служба отдыха springboot должна обслуживать какое-то устаревшее приложение (которое является единственным клиентом, вызывающим эту службу), и мне нужно иметь HttpServletRequest в качестве параметра.
Я создаю документ swagger openapi, и когда я добрался до swagger-ui.html, я вижу, что тело запроса приходит для метода Httprequest param с uri path = '/ personhttprequest', но не тогда, когда param равен HttpServletRequest. Я вижу здесь https://springdoc.org/faq.html#what-are-the-ignored-types-in-the-documentation
Но я не понимаю, почему и как я могу заставить параметр HttpServletRequest работать в пользовательском интерфейсе swagger. Я хочу передать его как text / xml, как я могу заставить его работать для HttpRequest ниже. Я прикрепил scrrenshot для / personhttprequest, и вы видите поле для тела запроса как xml подходит. Как заставить его работать для / personhttpservletrequest?
@RestController
public class PersonController {
@RequestMapping(path = "/personhttprequest", method = RequestMethod.POST,consumes=MediaType.TEXT_XML_VALUE,produces=MediaType.APPLICATION_JSON_VALUE)
public Person personHttpRequest(HttpRequest req) {
Person person = new Person();
return person;
}
@RequestMapping(path = "/personhttpservletrequest", method = RequestMethod.POST,consumes=MediaType.TEXT_XML_VALUE,produces=MediaType.APPLICATION_JSON_VALUE)
public Person personHttpServletRequest(HttpServletRequest req) {
Person person = new Person();
return person;
}
}
Вот хаб git: https://github.com/vmisra2018/sb-example-swaggerdoc а>
Principal, Locale, HttpServletRequest and HttpServletResponse and other injectable parameters supported by Spring MVC are excluded.
, springdoc не игнорирует их. - person SSK   schedule 07.07.2020