Java开发RESTful(三)RESTful设计

本文深入探讨RESTful设计,包括资源设计、HTTP动作的含义、返回结果的处理,如GET、POST、PUT、PATCH和DELETE操作,以及返回值类型、Content-Type和状态码的重要性。
摘要由CSDN通过智能技术生成

【原创文章,转载请注明原文章地址,谢谢!】

摘要,本文主要是简单讨论RESTful的相关设计问题,包括资源设计,动作设计和响应设计。

资源设计

在本系列第一篇文章中已经通过一个优惠券的例子给大家简单阐述了一下资源的设计,包括二级资源的设计。下面我们来看下详细的资源设计方案:
前面我们已经了解到,在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的”集合”(collection),所以API中的名词也应该使用复数。
例如,针对一个动物园应用,可能涉及到的资源就应该有:
https://api.example.com/v1/zoos:动物园资源
https://api.example.com/v1/animals:动物资源
https://api.example.com/v1/employees:饲养员资源
注意设计的方案,最后一个单词都是名词并且都是复数。对于简单的应用来说,一般一个资源就对应一个表,这样的设计已经足够。但是更多的情况,面对复杂的应用,因为HTTP提供的接口是有限的(HTTP一共就提供了常用的5种请求方式,所以能表示的对一个资源的操作是有限的)怎么抽取出合适的资源,也是一个相对来说比较困难的事情。这个在我们后面的实战示例中会提到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值