14
有沒有一種方法可以自定義當所需的@RequestParam
未發送到請求處理程序時顯示的內容?我始終得到HTTP狀態400,其描述爲「」在這種情況下,客戶端發送的請求在語法上不正確()。「。如何在Spring MVC中自定義@RequestParam錯誤400響應
有沒有一種方法可以自定義當所需的@RequestParam
未發送到請求處理程序時顯示的內容?我始終得到HTTP狀態400,其描述爲「」在這種情況下,客戶端發送的請求在語法上不正確()。「。如何在Spring MVC中自定義@RequestParam錯誤400響應
是的,有一種方法,你應該抓住MissingServletRequestParameterException
你能做到在幾個方面:
1)
@ExceptionHandler(MissingServletRequestParameterException.class)
public String handleMyException(Exception exception) {
return "yourErrorViewName";
}
2)
<error-page>
<exception-type>org.springframework.web.bind.MissingServletRequestParameterException</exception-type>
<location>/WEB-INF/pages/myError.jsp</location>
</error-page>
希望它幫助。
我如何解決我的問題:
@ResponseBody
@ExceptionHandler(MissingServletRequestParameterException.class)
public Object missingParamterHandler(Exception exception) {
// exception handle while specified arguments are not available requested service only. it handle when request is as api json service
return new HashMap() {{ put("result", "failed"); put("type", "required_parameter_missing");}};
}