springboot - 返回JSON error 从自定义的 ErrorController
使用AbstractErrorController(是ErrorController的实现),返回json error。
1、概览

2、基于《springboot - 映射 /error 到自定义且实现了ErrorController的Controller》,仅修改MyCustomErrorController如下:
import org.springframework.boot.autoconfigure.web.servlet.error.AbstractErrorController;
import org.springframework.boot.web.servlet.error.ErrorAttributes;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest;
import java.util.Map; /**
* @author www.gomepay.com
* @date 2019/11/18
*/
@Controller
public class MyCustomErrorController extends AbstractErrorController {
public MyCustomErrorController(ErrorAttributes errorAttributes) {
super(errorAttributes);
}
@RequestMapping(value = "/error", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public Map<String, Object> handleError(HttpServletRequest request) {
Map<String, Object> errorAttributes = super.getErrorAttributes(request, true);
return errorAttributes;
}
@Override
public String getErrorPath() {
return "/error";
}
}
3、执行
返回:
{
"timestamp": "2019-11-20T06:43:37.244+0000",
"status": 500,
"error": "Internal Server Error",
"message": "test exception",
"trace": "java.lang.RuntimeException: test exception\r\n\tat com.ebc.controller.MyController.handler(MyController.java:15)......",
"path": "/"
}
2)、http://localhost:8080/other
{
"timestamp": "2019-11-20T06:44:25.872+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/other"
}
springboot - 返回JSON error 从自定义的 ErrorController的更多相关文章
- springboot - 返回xml error 从自定义的 ErrorController
1.概览 2.在<springboot - 返回JSON error 从自定义的 ErrorController>基础上,做如下调整: 1).新增Attribute类和Error类 pac ...
- SpringBoot返回JSON
目录 1.SpringBoot返回JSON简介 2.整合jackson-databind 3.整合Gson 4.整合fastjson 1.SpringBoot返回JSON简介 随着web开发前后端分离 ...
- springboot - 使用ErrorAttributes 在我们自定义的 ErrorController中
1.概览 基于<springboot - 映射 /error 到自定义且实现了ErrorController的Controller>改造,仅将MyCustomErrorController ...
- springboot 返回json字符串格式化问题
在idea中yml文件中添加以下注解就可以格式化json字符串效果 spring: jackson: serialization: indent-output: true 原返回json格式为: {& ...
- [转] SpringBoot返回json 数据以及数据封装
作者:武哥 来源:武哥聊编程 https://mp.weixin.qq.com/s/QZk0sKxBX4QZiCTHQIA6pg 1. Spring Boot关于Json的知识点 在项目开 ...
- SpringBoot返回json和xml
有些情况接口需要返回的是xml数据,在springboot中并不需要每次都转换一下数据格式,只需做一些微调整即可. 新建一个springboot项目,加入依赖jackson-dataformat-xm ...
- SpringBoot 返回json 字符串(jackson 及 fast json)
一.jackson 1.Controller 类加注解@RestController 这个注解相当于@Controller 这个注解加 @ResponseBody 2.springBoot 默认使 ...
- SpringBoot 返回Json实体类属性大小写问题
今天碰到的问题,当时找了半天为啥前台传参后台却接收不到,原来是返回的时候返回小写,但是前台依旧大写传参. 查了很多后发现其实是json返回的时候把首字母变小写了,也就是Spring Boot中Jack ...
- SpringBoot返回JSON日期格式问题
SpringBoot中默认返回的日期格式类似于这样: "birth": 1537407384500 或者是这样: "createTime": "201 ...
随机推荐
- 每日算法 - day 15
每日算法 those times when you get up early and you work hard; those times when you stay up late and you ...
- Keras入门——(6)长短期记忆网络LSTM(三)
参考: https://blog.csdn.net/u012735708/article/details/82769711 https://zybuluo.com/hanbingtao/note/58 ...
- JS 函数创建、封装、调用
一.简单函数创建.封装 第三种就是构造函数 function fun(a,b){ this.firstName=a this.lastName=b } var x=new myFun(Jhon,Dav ...
- vbox虚拟机vdi文件用VMware打开
转自:https://blog.51cto.com/dahui09/1863486 方法一: 使用VirtualBox 自带的VBoxManage来进行格式转换: 1.安装VBoxManage 2.使 ...
- 87)PHP,PDO的预编译技术
(1) 比如以下的语句: insert into biao1 values(‘李宁’,‘’): insert into biao1 values(‘安踏’,‘’): insert into biao1 ...
- 开发工具类(eclipse、安卓SDK) 镜像站
1.eclipse 中国科技大学:http://mirrors.ustc.edu.cn/eclipse/ 中国科学院:http://mirrors.opencas.cn/eclipse/ 东北大学:h ...
- java#java.util.Date与java.time.LocalDateTime的转换
转换主要通过Instant来进行的. Date date = new Date(); LocalDateTime localDateTime = LocalDateTime.ofInstant(dat ...
- sourcetree的安装
参考博文: SourceTree安装教程和GitLab配置详解 关于Atlassian无法注册的问题 SourceTree跳过Atlassian账号,免登陆,跳过初始设置 sourcetree跳过注册 ...
- 15.Pythonic与python杂记
switcher ={ :'sunday', :'monday', :'thuesday' } day = day_name=switcher.get(day,'Unknow') print(day_ ...
- 《新标准C++程序设计》4.6(C++学习笔记16)
重载流插入运算符和流提取运算符 流插入运算符:“<<” 流提取运算符:“>>” cout 是在 iostream 中定义的,ostream 类的对象. “<<” 能 ...