博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RESTful API 如何设计
阅读量:5233 次
发布时间:2019-06-14

本文共 699 字,大约阅读时间需要 2 分钟。

1、协议

尽量使用 HTTPS

 

2、’域名

尽量将API部署在专用域名之下

如果API很简单,不会有进一步扩展,可以考虑放在主域名下

 

3、版本

应该将版本放在URL中 ,例如 https://api.xxx.com/v1

 

4、路径

每个网址,就是一种资源,所以不能有动词,只能有名词

 

5、HTTP动词

对于资源的具体操作类型,由http动词表示

常用的有5个

GET,POST,PUT,PATCH,DELETE

HEAD 获取资源元数据

OPTIONS 获取信息,关于资源哪些属性是客户端可以改变的

 

6、过滤信息

如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果

limit   offset page per_page 

 

7、状态码

 

8、错误处理

如果状态 4xx ,就应该想用户返回出错信息。一般来说,返回的信息中奖error作为键名

 

9、返回结果

  • GET /collection:返回资源对象的列表(数组)
  • GET /collection/resource:返回单个资源对象
  • POST /collection:返回新生成的资源对象
  • PUT /collection/resource:返回完整的资源对象
  • PATCH /collection/resource:返回完整的资源对象
  • DELETE /collection/resource:返回一个空文档

10、Hypermedia API

 

11、其他

身份认证,应该使用 oauth2.0

返回数据格式,尽量使用 JSON

 

转载于:https://www.cnblogs.com/quepq/p/9557744.html

你可能感兴趣的文章
UVA The Tower of Babylon
查看>>
[Flex] ButtonBar系列——简单布局
查看>>
Delegate与Event关系
查看>>
百度前端技术学院task16源代码
查看>>
算法(一)
查看>>
Python3.x使用PyMysql连接MySQL数据库
查看>>
AD域中客户端时间与服务器同步
查看>>
注册驱动时如何调用probe函数 ?
查看>>
微软笔试题-highways
查看>>
Bootstrap 2.3.0自定Grid布局
查看>>
linux系统的初化始配置
查看>>
读取jar包内配置文件
查看>>
应用自定义属性、索引值实现带略缩图的图片轮播
查看>>
Jetsever开源项目学习(六)Event学习
查看>>
马云开的早会太棒了,有几个人知道!
查看>>
广告狂人第一至七季/全集Mad Men迅雷下载
查看>>
CAS认证(1):流程详解
查看>>
c#基础------------静态类与非静态类
查看>>
Java 面向对象 --包装类
查看>>
网络系统初识
查看>>