springboot自定义http反馈状态码

image

最近在开发一些http server类型程序,通过spring boot构建一些web程序,这些web程序之间通过http进行数据访问、共享,如下图,

image

假设现在client发起一次保存数据的请求到server,server可能会返回如下类似的数据

{
    "status":1,
    "message":"xxxxxx"
}

然后client通过解析json获得status来判断当前的请求操作是否成功,开发过程中通过都是这么做的,但是这样在restful设计中不怎么好,其实这个status字段的表达完全可以通过http status来表示,类似404、500、502这种都有明确的定义并且相互理解、沟通起来也方便。

文章主要记录一下我是如何在spring boot中实现自定反馈状态码的,以及我找到的三种实现方式。

第一种,使用@ResponseStatus。这是一个注解,可以作用在方法和类上面,如下使用,

在方法上使用方式,

@RequestMapping(value = "/user", method = RequestMethod.GET)
    @ResponseStatus(code=HttpStatus.INTERNAL_SERVER_ERROR,reason="server error")
    public String getUser(){
        return "im zhangsan";
    }

启动web程序,通过postman访问http://127.0.0.1:8100/user,会出现下面结果,

{
    "timestamp": 1497850427325,
    "status": 500,
    "
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值