我有以下 springboot 休息控制器并使用 springdoc-openapi。我的 springboot 休息服务必须迎合一些遗留应用程序(这是调用此服务的唯一客户端),我需要将 HttpServletRequest 作为参数。
我正在生成 swagger openapi doc,当我到达 swagger-ui.html 时,我看到 rerquest 正文来自 Httprequest 参数方法,uri path = '/personhttprequest' 但不是当参数是 HttpServletRequest 时。我在这里看到 https://springdoc.org/faq.html#what-are-the-ignored-types-in-the-documentation
但我不清楚为什么以及如何让 HttpServletRequest 参数在 swagger ui 中工作。我想将它作为 text/xml 传递,就像我可以让它在下面的 HttpRequest 中工作一样。我已经为“/personhttprequest”附加了 scrrenshot,当 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