Contents
無論是物聯網,手機的雲端服務,這中間的資訊同步大部分都是使用 RESTful API ,但是你真的了解如何設計優良,安全可靠不會受到駭客入侵的 API 嗎? 這堂課講解 REST API 的最佳實踐,也包含安全設計,還有如何使用 Swagger 設計 API 規格與 API 管理。
從這 7 小時的課程,你會學到
- 透過應用最佳實踐和 REST 約束設計和開發 RESTful API
- 建立 API 安全性,版本控制,生命週期管理,文件和其它重要方面的實踐
- 以YAML格式使用 Swagger2.0 / OAI 規範撰寫規格
- 為企業創建一個 API 管理策略
- 利用一些常見的 API 管理平台建構 API 代理(APIGEE,IBM API Connect,Mulesoft Anypoint)
要求
- 任何一種現代程式設計語言,例如Java或Node JS或Go或PHP
- 熟悉 Web 應用程式架構
- 有 XML 或是 JSON 格式的概念
- 了解服務的概念
說明
今天,企業正在使用REST API不僅構建手機應用程序,而且還用於:
- 創建合作夥伴的新管道
- 建立新的收入流和商業模式
- 行銷它們的品牌
- 只是創建 API 並不能保證企業能夠從 API 的角度實現所期望的目標。開發人員採用API取決於多個方面,例如它的效用,易用性,性能,可擴展性,安全性。API提供者必須在API的整個生命週期中應用最佳實踐。
- 本課程涵蓋與API的設計,開發和管理相關的所有重要部分。本課程中討論的最佳實踐,挑戰,建議和選擇是:
- 透過分析流行的API提供商(如Facebook,Twitter,Capital One等)其API是如何建構和管理
或是/並且
- 採取作者的個人經驗
本課程適合任何對於端對端( end to end)學習有興趣REST API的技術專家,而不僅僅是從程式設計角度。雖然本課程使用NodeJS來示範設計最佳實踐,但它不要求學生擁有NodeJS的任何先前經驗。
要學習這門課程,學生應該知道任何一種(或多種)程式設計語言;有 Web 應用程式架構的理解;熟悉服務的概念;了解JSON或XML等資料格式
請注意,本課程不會教如何在NodeJS中編寫REST API。
課程分為6個部分:
1.設置階段
本節中的講座將提供課程大綱,討論將用作課程展示的案例研究(ACME Travel),提供課程中使用的工具列表。
2. REST API概念
本節中的講座將涵蓋基礎概念,如RESTful API的演進和6種架構的約束。
3.設計REST API
本節中的重點是設計REST API的最佳實務。本節中採用的方法是展示一些流行的API提供者(例如,Twitter,Facebook,Twilio …)如何設計他們的REST API。
- 資源,CRUD實現
- 錯誤處理,HTTP狀態代碼
- 變更管理和版本控制
- 分頁,部分反應
為了示範實現方面,一組基於NodeJS的API也被用於實現 ACME Travels 虛擬企業。
4.保護REST API
常用的BasicAuth標準不是實現API安全的最佳方式。在本節中,學生將學習用於REST API的常用認證和授權方案
- Tokens(Jason Web Tokens或JWT)
- Key/Secret
- OAuth 2.0(使用Spotify實現作為參考)
當企業將API暴露給公眾網路時,它對企業構成風險,因為駭客可能使用API中的漏洞來對企業發起攻擊。有多種類型的這種功能攻擊,API提供商必須考慮。你將了解常見的攻擊和保護API的最佳做法。
5. Swagger 2.0 / Open API 計畫規範
本節將從協作規範開發流程和採用合同第一方法的好處開始。學生將學習
- Swagger 2.0規範標準
- 如何以YAML格式創建REST API規範
- 用於Swagger規範編輯的工具選項
- Swagger 2.0的好處
展示如何利用通用平台(如Apigee,Mulesoft和IBM API Connect)規範
作為講座的一部分,將為 ACME Vacations 創建一個完整的規範。在本節結束時,學生將能夠為自己的API編寫Swagger / OAI規範。
6. API管理
API管理是在安全,可擴展的環境中發布,記錄和監督應用程式介面 API 的流程。本節中的講座包括 API 供應商在 API 管理範圍內執行的以下活動的詳細資訊。
- 生命週期管理
- 開發人員生產力
- 開發者入口網站
- 安全
- 流量管理
- 分析
- 產品化
- 獲利化 ( API 經濟 )
APIgee,IBM API Connect和Mulesoft平台將用於展示在演講中討論的各種API管理方面。鼓勵學生自己嘗試這些平台,以了解API管理平台帶來的好處。這三個平台提供了可用於測試的免費試用版本。
目標受眾是誰?
- 對於在應用程式中哪裡,何時,以及如何使用RESTful服務感興趣的技術人員
- 希望在後端建構 RESTful 服務的網頁,手機,IoT應用程式開發人員,
- 有興趣了解如何利用“API管理平台”(例如Apigee / Mulesoft / IBM API Connect)的解決方案架構師
- 有志成為架構師的 IT 領導人員
- 本課程不會教學生如何編寫Node JS。使用NodeJS是為了示範在課程中討論的概念實現。
關於講師
Rajeev Sakhuja IT顧問,IBM Cloud Champion 2016 ( 更多講師主講課程介紹 )
我是一名親身實踐的資訊技術顧問,在財富500強公司的大規模應用程式開發,基礎設施管理和戰略開發方面有豐富經驗。在IT行業擁有超過20年的經驗。對於學習和教授新技術具有熱情。目前協助大公司製定雲端戰略和實踐。
非常榮幸地宣布,最近IBM已經認證我是“2016-2017年的 IBM Cloud Champion”。感謝所有的學生們的不斷支持和鼓勵。
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
🙌 如何有效率地管理 ChatGPT 輸出與整理自己的 ChatGPT 提示( prompts )使用情境?LN+ for Web 已經針對 ChatGPT 的整合做最佳化
🙌 讓 Notion AI 成為你線上學習的得力助手,詳細操作請參考 – 使用 Notion AI 功能來為 udemy 的課程做摘要總結
- 點選這個✨優惠連結 課程特價 | Udemy 永久擁有課程 NT330 起( 請登入 Udemy|按過“優惠連結”後到”報名參加課程“連結網頁做更新 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程
也許你會有興趣
- 更多 REST API 相關線上課程介紹 ( 使用不同的開發框架或是程式語言實現 REST API )
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!