{
statusCode : 405,
message: "HTTP Method not allowed"
}
我使用@controlleradvice
为许多异常发送自定义响应。对于这些400、401、405、403和500错误,我面临的问题是,我不知道这些错误发生时抛出了哪些异常,以便我可以为它们编写@exceptionhandlers
。甚至我都不知道这样做是否可能,或者即使可能,那么这是正确的方式来实现这一点。
在Spring boot中有没有什么实现的方法?
所有传出的异常都由Spring Boot使用BasicErrorController
处理。
我们可以使用controller Advice处理/更改大多数异常消息。但是,在到达控制器之前抛出的异常,如NotFound
、BadRequest
等,再次由BasicErrorController
处理
我们也可以通过重写BasicErrorController
来改变这一点。
@RestController
@RequestMapping({"${server.error.path:${error.path:/error}}"})
@Slf4j
public class BasicErrorControllerOverride extends AbstractErrorController {
public BasicErrorControllerOverride(ErrorAttributes errorAttributes) {
super(errorAttributes);
}
@RequestMapping
public ResponseEntity<Map<String, Object>> error(HttpServletRequest request) {
HttpStatus status = this.getStatus(request);
Map<String, Object> errorCustomAttribute = new HashMap<>();
errorCustomAttribute.put("custome_message", "error");
errorCustomAttribute.put("custom_status_field", status.name());
return new ResponseEntity(errorCustomAttribute, status);
}
@Override
public String getErrorPath() {
return "/error";
}
}
{
"custome_message": "UNAUTHORIZED",
"custom_status_field": "error"
}
问题内容: 我已经编写了REST API服务,该服务要求所有响应均为JSON。但是,当Go HTTP请求解析器遇到错误时,它将返回400作为纯文本响应,而无需调用我的处理程序。例: 请注意无效的授权标头。当然,400是正确的响应,但是当然是文本/纯文本。有什么方法可以配置Go http解析器以使用自定义错误响应媒体类型和主体? 问题答案: 你不能 您可以在net / http源中找到它,只有在请求
本文向大家介绍HTTP 状态码 400、401、403 的含义?相关面试题,主要包含被问及HTTP 状态码 400、401、403 的含义?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: (1)400状态码:请求无效 产生原因: 前端提交数据的字段名称和字段类型与后台的实体没有保持一致 前端提交到后台的数据应该是json字符串类型,但是前端没有将对象JSON.stringify转化成字符串
当一个用户试图创建一个包含“password”的密码时,我正在向我的iOS客户端发送一条错误消息。 我想向用户显示一个简单的消息,而不需要在客户端上分割字符串等,所以我不想发送“用户验证失败:密码:”只有“密码不能包含单词密码”。 如何在Node/Express中自定义此消息?它是Mongoose还是MongoDB实现? 谢谢!
Apache可以让网站管理员自己自定义对一些错误和问题的响应。 自定义的响应可以定义为当服务器检测到错误或问题时才被激活。 如果一个脚本崩溃并产生"500 Server Error"响应,那么这个响应可以被更友好的提示替换或者干脆用重定向语句跳到其他的URL(本地的或外部的)。 行为 老式的行为 Apache1.3 会响应一些对于用户没有任何意义的错误或问题信息,而且不会将产生这些错误的原因写入日
伙计们,我正在努力解决在Windows环境中的Tomcat中打开我的自定义错误页面的问题。我得到了一些解决方案,但没有运气。我尝试了几乎所有的链接,但它不适合我。其中一些适用于在Tomcat中部署的其他解决方案,但不适用于我的Web服务 我的网络.xml < br >我正在从我的Servlet 3.0应用程序< code > response . send error(http Servlet r