日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

还有更多REST技巧

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 还有更多REST技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在以前的博客文章中,我介紹了一些實現REST體系結構的想法和技巧。 在這篇文章中,我將介紹更多的想法和技巧。

快取

  • 緩存是原始論文的很大一部分。 見5.1.4節
  • 策略包括驗證( 客戶端檢查它是否具有最新版本 )和到期( 客戶端認為它具有最新版本直到指定時間 )。
  • 到期日:
    • Expires標頭告訴客戶端資源何時到期。
    • 緩存控制
  • 驗證方式
    • Etag –資源的唯一版本。

控制器API

  • 當某些東西完全適合CRUD操作時,請考慮使用Controller API

處理日期

  • 使用ISO-8601作為日期-更好地進行自然排序,處理時區,語言環境中的語言以及大多數編程語言的支持
  • 接受任何時區,因為世界上任何人都可以調用您的API
  • 存儲在UTC中 ,而不是服務器所在的時區中。 持續時不應有偏移。
  • 返回UTC。 允許客戶根據需要調整其時區
  • 如果您不需要,請不要使用時間。 如果僅日期就足夠,則僅保留日期。 這意味著時區復雜性將消失。

  • HEAD操作應返回響應頭

標頭

  • 始終返回有用的標題。 考慮:
    • 內容類型

超媒體(優勢)

  • 減少耦合
  • 鏈接的格式一致=>更干凈的客戶端代碼
  • 開發人員的生產力:API更易于瀏覽
  • 更輕松地以更精細的方式介紹服務
  • 代碼更易于調試-消息始終具有通過自我鏈接創建消息的URL

超媒體(選擇)

  • HAL –減少地址耦合
  • SIREN –減少地址和動作的耦合
  • Collection + JSON (CJ)–減少地址,動作和對象的耦合

等冪的

  • 可以多次調用并返回相同結果
  • OPTIONS,GET,HEAD,PUT和DELETE都是冪等的

長時間運行的請求

  • 某些操作需要很長時間。 在這種情況下,請考慮返回位置字段設置為URL的202,客戶端可以輪詢該URL以檢查操作進度。

不允許的方法

  • 如果API僅支持GET,則對于任何PUT,POST,DELETE等都應返回405

必須忽略原則

  • 客戶端應該忽略他們不感??興趣的數據。這使得API向后兼容變得更加容易。 如果API返回了額外的數據,而某些客戶端并不期望它們,他們將忽略它。

不能接受的

  • 當資源不支持特定的媒體類型時,它應返回406(見Masse,規則:406(“不可接受”)),當無法提供所請求的媒體類型時

選項

  • 選項應返回資源上可用的操作

部分更新

  • 使用PATCH處理部分更新

詢問

  • URI的查詢組件應用于過濾集合

資源創造

  • 成功創建資源后,應返回201
  • 位置標頭應指示獲取資源的URL。

安全

  • 如果操作不修改資源,則被認為是安全的
  • 選項,GET和HEAD是安全的

自我鏈接

  • 響應正文應始終包含一個自我鏈接-用于返回資源的URL。

單數還是復數?

  • 對于只有一個文檔類型的資源,請使用“單個”。 例如:/ humans / 12343343 / head
  • 否則復數

翻譯自: https://www.javacodegeeks.com/2018/05/and-some-more-rest-tips.html

總結

以上是生活随笔為你收集整理的还有更多REST技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。