api数据加密的定义_API 设计基础规范
生活随笔
收集整理的這篇文章主要介紹了
api数据加密的定义_API 设计基础规范
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先,請務必記住 API 設計和使用的一個重要法則 Postel's Law(又稱作穩健性原則):
- Be liberal in what you accept, be conservative in what you send
下面是關于 API 設計的一些基本問題
API First
將 API 視作產品,并向產品開發一樣設計和維護 API
代碼結構
項目(Git Repo) 中應包含以下目錄用于描述 API
- README.MD
- 可以包含服務 API Spec 的 Jira Link
- 文檔
- 在 doc/* 目錄下的 markdown 文件或鏈接到 git
- 接口定義
- 按 API 版本分目錄 v[0-9]*/*
- 每個版本中需包含 swagger yaml 文件
安全
無論是 public API 還是 internal API,在設計時都需要考慮安全性問題。對于外部 API,暴露在因特網上本來就充滿了風險。對于內部 API,不要認為內網是安全的,比如在微服務網絡中,要避免級聯失敗或者第三方繼承點問題。可以采用以下方案提高 API 的可用性:
- 總是使用 SSL(Public API 必須開啟,內部 API 根據具體場景具體分析)
- Public API 必須支持 CSRF
- Is your Web API susceptible to a CSRF exploit?
- Throttling
- 主要針對 public API, 此外 internal API 也需要考慮承載能力
- 響應 503 with Retry-After header
- 考慮 Subtle Denial of Service
- DoS attacks:Slowloris, Billion laughs, and ReDoS
- Authentication
- 針對 Public API 使用 Oauth2 或者 HTTP Basic Authentication
- 針對內部 API 可以使用協商的加密認證算法
命名規范
文檔
遵循 OpenAPI Spec version 3,使用 swagger-editor 編輯文檔,每個 API 的描述至少包含以下內容:
- x-api-id: 為每個 API 設置 UUID 以便于索引
- x-audience:API 受眾
- internal-component
- internal-company
- external-public
- title: API 名稱
- version:API 版本
- description:API 描述
- contact/{name,url,email}:維護團隊
- 使用美式英語書寫
使用 JSON 作為數據交換格式
默認采用 JSON 數據類型,非 JSON 媒體類型請使用其他相應的媒體類型
JSON 應符合 RFC4627 和 RFC 7159,并滿足以下的要求:
來自公眾號 無人深空,一個專注于技術和扯淡的公眾號,請不要關注
總結
以上是生活随笔為你收集整理的api数据加密的定义_API 设计基础规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis不等于某个字符串的值_My
- 下一篇: 字谜 java_java - 2字的字谜