在进行API接口设计时,不同的开发人员可能有不同的设计风格,风格迥异。 那是否存在一种统一的接口设计方式,被广大开发人员所接受呢? 答:这就是被普遍采用的RESTfulAPI设计风格。 1。Restful风格设计关键点1。URL路径 路径又称终点(endpoint),表示API的具体网址,每个网址代表一种资源(resource)。 (1)URL地址尽量使用名词,不使用动词。 举例来说,以下是不好的例子:getProductslistOrders 对于一个简洁结构,应该始终用名词。GETproducts:将返回所有产品信息POSTproducts:将新建产品信息GETproducts4:将获取产品4PUTproducts4:将更新产品4 (2)API中的名词应该使用复数,无论单个资源或者所有资源。 举例来说,获取产品的API可以这样定义:获取单个产品:http:127。0。0。1:8080products1获取所有产品:http:127。0。0。1:8080products2。请求方式 访问同一个URL地址,采用不同的请求方式,代表要执行不同的操作。 常用的HTTP请求方式有下面四个: 请求方式 说明 GET 获取资源数据(单个或多个) POST 新增资源数据 PUT 修改资源数据 DELETE 删除资源数据 例如:GETzoos:列出所有动物园POSTzoos:新建一个动物园(上传文件)GETzoosID:获取某个指定动物园的信息PUTzoosID:更新某个指定动物园的信息DELETEzoosID:删除某个动物园3。过滤信息 过滤参数可以放在查询字符串中。 在访问API接口获取数据时,可能需要对数据进行过滤。 下面是一些常见的参数:?limit10:指定返回记录的数量?offset10:指定返回记录的开始位置。?page2perpage100:指定第几页,以及每页的记录数。?sortbynameorderasc:指定返回结果按照哪个属性排序,以及排序顺序。4。响应数据 针对不同操作,服务器向用户返回的响应数据应该符合以下规范:GETcollection:返回资源对象的列表数据。GETcollectionresource:返回单个资源对象数据。POSTcollection:返回新创建的资源对象数据。PUTcollectionresource:返回完整的资源对象数据。DELETEcollectionresource:返回空。5。响应数据格式 服务器返回的响应数据格式,应该尽量使用JSON。6。响应状态码 服务器向客户端返回的状态码和提示信息,常见的状态码如下:200OK〔GETPUT〕:服务器成功返回用户请求的数据201CREATED〔POST〕:用户新建数据成功。204NOCONTENT〔DELETE〕:用户删除数据成功。400INVALIDREQUEST〔POSTPUT〕:用户发出的请求有错误,服务器没有进行新建或修改数据的操作(语法参数错误)401Unauthorized〔〕:表示用户没有权限(令牌、用户名、密码错误)。(未认证)403Forbidden〔〕表示用户得到授权(与401错误相对),但是访问是被禁止的。404NOTFOUND〔〕:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的405METHODNOTALLOWED:请求方式不支持500INTERNALSERVERERROR〔〕:服务器发生错误,用户将无法判断发出的请求是否成功。