restful api响应设计个人心得

本文分享了RESTful API响应设计的心得,包括返回数据、错误信息和HTTP状态码的处理。返回数据遵循JSON API规范,错误响应遵循RFC7807,HTTP状态码使用精简集,强调了API的可演进性和HATEOAS原则的重要性。
摘要由CSDN通过智能技术生成

以下内容以json api规范为基础

返回数据

将实际数据放在data中,例如

普通单数data

GET /epics/1

响应

{
  "data": { 
    "id": 1, 
    "name": "epic1"
  }
}

普通复数data

GET /epics

响应

{
	"data": [{
		"id": 1,
		"name": "epic1"
	}, {
		"id": 2,
		"name": "epic2"
	}]
}

如何表达关系

GET /epics/1

返回嵌入式规范的数据,这里选用嵌入式的原因:

  • 对客户来说最方便。 是可以直接通过关系来获取实际数据。其他方式需要客户端自行拼接

响应

{
	"data": [{
		"id": 1,
		"name": "用户故事1",
		"epic": {
			"id": 5,
			"name": "epic5"
		},
		"subTask": [{
			"id": 12,
			"name": "子任务12"
		}, {
			"id": 13,
			"name": "子任务13"
		}]
	}]
}

分页
此处涉及两种分页形式

1、基于偏移量的

# 返回30至45的epics
/epics?offset=30&limit=15 
# 如果未填参数,则可使用默认值(offset=0, limit=100 )
/epics

响应


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值