我传递一个头弹簧REST API,如:如何返回响应体时,头部丢失春季REST API
@RequestHeader(value="test-header")
头是强制性这里的API,所以我不希望保持可选。 当没有头文件传递时,任何对API的调用都会返回一个标准的400错误,指出请求在合成上是错误的,然后它不会进入REST API。但是,我想要构造一个适当的ResponseBody并为此错误返回一个json。我不确定要做到这一点的最佳方式。我想过使用spring拦截器并检查这个头文件是否通过了,但是我不确定是否可以从这里创建一个响应者。至少我无法弄清楚如何去做。
将拦截器的方法为此工作吗?如果是,如何?如果不是,那么有什么选择?有人可以帮忙吗?
更新:
这是REST API是如何:
public void methodA(@RequestHeader(value="test-header") String header, @RequestBody User user, HttpServletRequest httpRequest, HttpServletResponse httpResponse) {
...
...
}
当头存在时,它会进入REST API,并继续与逻辑。但是,如果标题不存在,它不会进入API并只返回一个标准的400错误。
的拦截器,我写的是这样的:
public class XXXInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
...
...
...
return true;
}
}
你怎么处理,如果该参数不存在请求?你的处理程序是什么样的? –