我傳遞一個頭彈簧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;
}
}
你怎麼處理,如果該參數不存在請求?你的處理程序是什麼樣的? –