這篇文章詳細(xì)記錄了我如何實(shí)現(xiàn)一個(gè) OpenAPI 的艱辛歷程妓忍、我把 OpenAPI 從概念、設(shè)計(jì)尝苇、實(shí)現(xiàn)铛只、部署、測(cè)試糠溜、監(jiān)控的整個(gè)過(guò)程詳細(xì)的提供給大家學(xué)習(xí)和參考淳玩。
提綱
- 如何打造一個(gè)自己的 OPEN API
- 如何設(shè)計(jì)一個(gè)符合 RESTful 的 OpenAPI
- 使用 .Net Core 實(shí)現(xiàn)自己的 OpenAPI
- 使用 Java Spring Boot 實(shí)現(xiàn)自己的 OpenAPI
- 如何提高 OpenAPI 健壯性
- 如何實(shí)現(xiàn) OpenAPI 的高可用
OpenAPI 是什么?
Open API 即開(kāi)放 API,也稱(chēng)開(kāi)放平臺(tái)非竿。 所謂的開(kāi)放 API(OpenAPI)是服務(wù)型網(wǎng)站常見(jiàn)的一種應(yīng)用蜕着,網(wǎng)站的服務(wù)商將自己的網(wǎng)站服務(wù)封裝成一系列
API(Application Programming Interface,應(yīng)用編程接口)開(kāi)放出去红柱,供第三方開(kāi)發(fā)者使用承匣,這種行為就叫做開(kāi)放網(wǎng)站的 API,所開(kāi)放的 API 就被稱(chēng)作 OpenAPI(開(kāi)放 API )锤悄。
RESTful API 是什么?
什么是 REST韧骗?
Representational State Transfer,翻譯是”表現(xiàn)層狀態(tài)轉(zhuǎn)化”零聚∨郾可以總結(jié)為一句話(huà):REST 是所有 Web 應(yīng)用都應(yīng)該遵守的架構(gòu)設(shè)計(jì)指導(dǎo)原則些侍。
面向資源是 REST 最明顯的特征,對(duì)于同一個(gè)資源的一組不同的操作政模。資源是服務(wù)器上一個(gè)可命名的抽象概念岗宣,資源是以名詞為核心來(lái)組織的,首先關(guān)注的是名詞览徒。REST 要求狈定,必須通過(guò)統(tǒng)一的接口來(lái)對(duì)資源執(zhí)行各種操作。對(duì)于每個(gè)資源只能執(zhí)行一組有限的操作习蓬。
什么是 RESTful API纽什?
符合 REST 設(shè)計(jì)標(biāo)準(zhǔn)的 API,即 RESTful API躲叼。REST 架構(gòu)設(shè)計(jì)芦缰,遵循的各項(xiàng)標(biāo)準(zhǔn)和準(zhǔn)則,就是 HTTP 協(xié)議的表現(xiàn)枫慷,換句話(huà)說(shuō)让蕾,HTTP 協(xié)議就是屬于 REST 架構(gòu)的設(shè)計(jì)模式。比如或听,無(wú)狀態(tài)探孝,請(qǐng)求-響應(yīng)。誉裆。顿颅。
Swagger 是什么?
Swagger? 的目標(biāo)是為 REST APIs 定義一個(gè)標(biāo)準(zhǔn)的,與語(yǔ)言無(wú)關(guān)的接口足丢,使人和計(jì)算機(jī)在看不到源碼或者看不到文檔或者不能通過(guò)網(wǎng)絡(luò)流量檢測(cè)的情況下能發(fā)現(xiàn)和理解各種服務(wù)的功能粱腻。當(dāng)服務(wù)通過(guò) Swagger 定義,消費(fèi)者就能與遠(yuǎn)程的服務(wù)互動(dòng)通過(guò)少量的實(shí)現(xiàn)邏輯斩跌。類(lèi)似于低級(jí)編程接口绍些,Swagger 去掉了調(diào)用服務(wù)時(shí)的很多猜測(cè)。