網頁

2022/1/31

什麼是Contract-first API development?

所謂的Contract-first API開發方式(Contract-first API development)是指先設計及確認REST API的規格文件(合約),然後開發人員才依文件進行程式碼的實作。


Contract-first API開發方式是相對於先撰寫程式碼的開發方式(Code-first development)。

傳統在開發REST API時,可能是前後端或客戶端與Server端的開發人員坐下來開個會討論API請求與回應的資料結構後便直接進行程式碼的開發,更甚者可能沒有討論只能根據PM給的prototype畫面憑空想像直接開發,然後REST API即為程式碼(Controller)的結果;而Contract-first開發方式強調先撰寫好REST API的規格文件,前後端確認畫押無誤後才著手進行程式碼的撰寫。


Contract-first開發方式的好處:

  1. 幫助團隊成員溝通 - 前後端成員均依API合約進行開發,減少溝通上的錯誤。
  2. 減少程式碼修改 - API合約確認可減少因認知錯誤而造成的程式碼反覆修改。
  3. 提高開發效率 - 前後端成員不用等另一方實作即可依此API合約進行開發及撰寫測試。
  4. 可對API做mock - API合約確認後即可依此進行mock及測試。
  5. 自動產生程式碼 - 有工具(e.g. Swagger Codegen)可依照API合約產生程式碼。

REST API合約文件以前沒有標準的規格,各組織都有不同的表達方式,例如使用Excel表格、Word文件。而現在可依照OpenAPI的定義以JSON或YAML來撰寫REST API合約文件。


沒有留言:

張貼留言