我尝试将自定义请求头添加到每个API,我可以通过向每个API添加一段代码来实现
`public ResponseDTO setNames(@RequestHeader(value="my-header",required = false HttpServletRequest httpServletRequest) throws Exception {}`
但是我希望这是自动完成的,就像我们在创建新API时默认使用授权头一样。
enter image description here
我尝试将自定义请求头添加到每个API,我可以通过向每个API添加一段代码来实现
`public ResponseDTO setNames(@RequestHeader(value="my-header",required = false HttpServletRequest httpServletRequest) throws Exception {}`
但是我希望这是自动完成的,就像我们在创建新API时默认使用授权头一样。
enter image description here
3条答案
按热度按时间5uzkadbs1#
如果使用的是
springdoc-openapi
,则可以使用以下命令如果您使用的是
spring-fox
,则可以返回以下链接globalRequestParameters
:http://springfox.github.io/springfox/docs/current/#quick-start-guidesaydmsdu92#
您可以在您的Spring-boot项目中使用
OpenAPI specification (previously Swagger specification)
,在中,您可以定义API以及Request/Response
头文件,以及您可能希望返回的任何错误模型或您希望捕获的任何其他自定义字段!通过定义,您将拥有提及
required, minLength, maxLength
等属性的权限openAPI插件将处理其余的事情!
您可以参考这些链接浏览一下!
https://www.javainuse.com/spring/boot_swagger3
https://www.baeldung.com/spring-rest-openapi-documentation
7z5jn7bk3#
要对每个请求进行标头验证,可以使用
Filter
或HandlerInterceptors
。Filters
会在请求到达DispatcherServlet
之前拦截请求,这使它们非常适合于粗粒度任务,例如:另一方面,
HandlerIntercepors
拦截DispatcherServlet
和我们的Controllers
之间的请求,这是在Spring MVC框架中完成的,提供对Handler和ModelAndView对象的访问。这减少了重复,并允许更细粒度的功能,例如:
来源:https://www.baeldung.com/spring-mvc-handlerinterceptor-vs-filter