IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【开发队遵循】API 规范 -> 正文阅读

[网络协议]【开发队遵循】API 规范

  1. URL使用横杠隔开单词

    /system-orders
    
  2. 参数使用小驼峰命名

    /system-orders/{orderId}
    
  3. 获取集合使用复数单词

    GET /users
    
  4. URL里面不要用动词

    PUT /user/{userId}
    
  5. JSON 属性使用小驼峰命名

    {
       userName: "Mohammad Faisal"
       userId: "1"
    }
    
  6. 响应体应该包含资源数

    {
      users: [ 
         ...
      ],
      total: 34
    }
    
  7. 在GET操作中始终接受limit和offset参数

GET /shops?offset=5&limit=5
  1. 添加一个fields参数,只公开API中必需的字段
只返回商店的名称,地址和联系方式。
GET /shops?fields=id,name,address,contact
  1. 通过HTTP请求头携带Token

    Authorization: Bearer xxxxxx, Extra yyyyy
    
  2. 始终验证内容类型

```api
content-type: application/json
```
  1. 对CRUD函数使用HTTP方法

    GET:检索资源的表示形式。
    POST:创建新的资源和子资源。
    PUT:更新现有资源。
    PATCH:更新现有资源,它只更新提供的字段,而不更新其他字段。
    DELETE:删除已存在的资源。
    
  2. 在嵌套数据的URL中使用HTTP方法

    GET /shops/2/products:从shop 2获取所有产品的列表。
    GET /shops/2/products/31:获取产品31的详细信息,产品31属于shop 2。
    DELETE /shops/2/products/31:应该删除产品31,它属于商店2。
    PUT /shops/2/products/31:应该更新产品31的信息,只在resource-URL上使用PUT,而不是集合。
    POST /shops:应该创建一个新的商店,并返回创建的新商店的详细信息。在集合url上使用POST。
    
  3. CORS跨域资源共享

    一定要为所有面向公共的API支持CORS(跨源资源共享)头部。
    考虑支持CORS允许的“*”来源,并通过有效的OAuth令牌强制授权。
    避免将用户凭证与原始验证相结合。
    
  4. 安全

    在所有端点、资源和服务上实施HTTPS(tls加密)。
    强制并要求所有回调url、推送通知端点和webhooks使用HTTPS。
    
  5. 总原则

    扁平比嵌套好。
    简单胜于复杂。
    字符串比数字好。
    一致性比定制更好。
    
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:34:12  更:2022-02-14 21:36:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:56:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码