大佬教程收集整理的这篇文章主要介绍了HTTP 400的Spring MVC自定义消息,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
您真正需要的是MissingServletrequestParameterException的全局处理程序,当缺少请求参数时,Spring会抛出该全局处理程序。解决此问题的最简单方法是使用COntrollerAdvice,它将对所有控制器进行处理。
import org.springframework.web.bind.MissingServletrequestParameterException;
@ControllerAdvice
class MissingServletrequestParameterExceptionHandler {
@ExceptionHandler(MissingServletrequestParameterException.class)
@ResponseBody
@ResponseStatus(httpStatus.bAD_requEST)
public String handleMissingParameter() {
return "Your custom result";
}
}
如果只想为特定控制器隐藏缺少的参数消息,则只需将handleMissingParameter
方法移至该控制器,而不创建ControllerAdvice。
我下面有几种SprigMVC方法,返回ModelAndView或Responsebody。当用户向这些网址请求缺少必需参数的请求时,他们自然会收到消息
“不存在必需的字符串参数’id’” 。
从安全角度来看,我想向用户 隐藏此详细描述消息
。因此,黑客不容易知道丢失的参数,并且会在没有任何描述的情况下得到400错误。这是可以通过spring配置/ Spring
Security实现的,还是我必须手动重构所有方法才能以某种方式返回自定义消息。
@requestMapping(value = "/payment",method = requestMethod.GET)
public ModelAndView getReponse(@requestParam(value = "id",required = truE)) {
return model;
}
@requestMapping(value = "/status",method = requestMethod.GET)
public @ResponseBody String getStatus(@requestParam(value = "id",required = truE) String id) {
return "String";
}
以上是大佬教程为你收集整理的HTTP 400的Spring MVC自定义消息全部内容,希望文章能够帮你解决HTTP 400的Spring MVC自定义消息所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。