springboot 不响应字段为空_如何只改动Spring Boot RestController在exception情况下输出内容的部分字段,而不改写整个响应内容...

用Spring Boot 写Web API, 因为项目简单,并不想引入引入一套自己的错误规则,直接让@RestController直接返回repository的查询结果,异常的话就使用默认的异常结果

// 正确

{

"id": 2,

"text": "hahahahaha",

"username": "haha",

"update_time": 1510896551177

}

// 异常

{

"timestamp": 1510914077779,

"status": 405,

"error": "Method Not Allowed",

"exception": "org.springframework.web.HttpRequestMethodNotSupportedException",

"message": "Request method 'DELETE' not supported",

"path": "/api/message/"

}

// 使用@NotNull、@NotBlank和@valid验证参数错误的时候

{

"timestamp": 1510914681866,

"status": 400,

"error": "Bad Request",

"exception": "org.springframework.validation.BindException",

"errors": [

{

...

"defaultMessage": "message不能为空",

...

}

],

}

这里的status、error内容就是当前的http状态码,用http状态码和defaultMessage?的内容展示异常就够了,所以希望把无关的内容去掉,统一成

// 正确

{

"status": 405,

"error": defaultMessage | error

}

可以如何实现

我在@ControllerAdvice这个类里重写输出的话,http状态码又会变回200,也不知道如何保留异常的状态码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值