API設(shè)計能做什么制圈?
提示:
API設(shè)計的主要作用是為了預(yù)先定義接口請求參數(shù)以及響應(yīng)期望并生成 Mock URL,如果您僅僅需要調(diào)試接口畔况,直接進API調(diào)試模塊即可鲸鹦,無需在API設(shè)計模塊預(yù)先定義。
API設(shè)計用于在接口還沒開發(fā)完成時跷跪,預(yù)定義接口請求參數(shù)和響應(yīng)期望(Mock)馋嗜,并自動生成 Mock URL,讓前端和測試提前進入研發(fā)流程吵瞻。
一葛菇、預(yù)定義請求參數(shù)和響應(yīng)期望
我們可以在Apipost的API設(shè)計模塊預(yù)定義接口的請求參數(shù)和響應(yīng)期望(Mock),方便前端提前對接橡羞。如下圖:
二熟呛、校驗實際響應(yīng)結(jié)果
當接口開發(fā)完成,準備進行調(diào)試時尉姨,我們也可以用在API設(shè)計中建立的響應(yīng)期望校驗實際響應(yīng)結(jié)果是否符合預(yù)期庵朝。
API設(shè)計-請求參數(shù)預(yù)定義
預(yù)定義請求參數(shù)
支持header、query、body九府、認證四項椎瘟,與API調(diào)試模塊一致,共用同一份數(shù)據(jù)源侄旬。
Header 參數(shù)
你可以設(shè)置或者導入 Header 參數(shù)肺蔚,cookie也在Header進行設(shè)置
Query 參數(shù)
Query 支持構(gòu)造URL參數(shù),同時支持 RESTful 的 PATH 參數(shù)(如圖中:uid)
Body 參數(shù)
Body 提供三種類型 form-data / x-www-form-urlencoded / raw 儡羔,每種類型提供三種不同的UI界面 1)當你需要提交表單時宣羊,切換到 x-www-form-urlencoded
2)當你需要提交有文件的表單時,切換到 form-data
3)當您需要發(fā)送JSON對象或者其他對象時汰蜘,切換到對應(yīng)的raw類型即可
認證
支持Digest auth仇冯、OAuth 1.0、Hawk Authentication族操、AWS Signature苛坚、NTML Authentication、Akamai EdgeGrid六種認證方式色难。
API設(shè)計-期望響應(yīng)預(yù)定義
a泼舱、新建期望
在同一個接口里,由于我們對不同場景下返回的數(shù)據(jù)結(jié)構(gòu)期望不同枷莉,我們可以通過設(shè)置多個期望的方式娇昙,來滿足這個需求。 如圖笤妙,點擊【新建期望】即可打開新建期望的彈窗冒掌。我們可以選擇該期望的狀態(tài)碼、填寫期望名稱危喉、選擇內(nèi)容格式宋渔,填寫觸發(fā)條件(非必填)州疾,最后點擊保存辜限,該期望創(chuàng)建成功。
b.內(nèi)容格式
我們可以選擇JSON严蓖、XML薄嫡、 HTML、 Raw颗胡、 Binary五種內(nèi)容格式毫深,其中JSON和XML格式可以通過增加字段節(jié)點來定義數(shù)據(jù)結(jié)構(gòu)、字段類型毒姨、mock值和參數(shù)描述哑蔫,并支持導入JSON、XML、JSON-schema格式的文件闸迷,預(yù)覽已編輯好的數(shù)據(jù)嵌纲,支持刷新生成的數(shù)據(jù)。 1腥沽、JSON格式:該格式的響應(yīng)內(nèi)容支持json-schema逮走、mock.js兩種各自獨立的數(shù)據(jù)模式,我們可以選擇一種方式建立期望今阳,數(shù)據(jù)結(jié)構(gòu)保存后师溅,可以在響應(yīng)示例中引用。
2盾舌、XML格式:我們可以在table中配置墓臭,同json-schema,數(shù)據(jù)結(jié)構(gòu)保存后矿筝,可以在響應(yīng)示例中引用起便。
3、HTML窖维、Binary格式:只展示格式名榆综,不可手動配置內(nèi)容,數(shù)據(jù)結(jié)構(gòu)保存后铸史,可以在響應(yīng)示例中引用鼻疮。
c.字段類型
當我們選擇json-schema或XML格式時琳轿,可以設(shè)置每一條字段的類型判沟,分別為string、number崭篡、integer挪哄、array、object琉闪、Boolean迹炼、null、any八種類型颠毙,若需對該字段進行高級設(shè)置斯入,不同的類型也對應(yīng)不同的高級設(shè)置方法。
d.如何添加/刪除字段
1蛀蜜、增加字段:默認展示root字段刻两,當數(shù)據(jù)類型為object,點擊root右側(cè)加號滴某,可增加兄弟節(jié)點或子節(jié)點磅摹;當數(shù)據(jù)類型為array滋迈,則自動增加一個string類型的子節(jié)點;當數(shù)據(jù)類型為string户誓、integer杀怠、Boolean、Number厅克、null赔退、any,可增加兄弟節(jié)點证舟。
2硕旗、刪除字段:點擊刪除icon,直接刪掉此字段(root根節(jié)點不能刪除)
e.高級設(shè)置
我們可以對某個字段進行高級設(shè)置女责,定義該字段數(shù)據(jù)結(jié)構(gòu)的具體細節(jié)漆枚,同時也支持以目錄為作用域進行定義,如點擊根目錄的高級設(shè)置抵知,則高級設(shè)置內(nèi)容對該目錄下所有字段有效墙基。
當數(shù)據(jù)類型為string:
當數(shù)據(jù)類型為integer:
當數(shù)據(jù)類型為Boolean:
當數(shù)據(jù)類型為array:
當數(shù)據(jù)類型為object:
當數(shù)據(jù)類型為Number:
當數(shù)據(jù)類型為Null,則無高級設(shè)置刷喜。
當數(shù)據(jù)類型為oneOf:
當數(shù)據(jù)類型為anyOf:
當數(shù)據(jù)類型為allOf:
f.智能期望
什么是智能期望残制?
我們可以在智能期望中填寫一些觸發(fā)條件,并設(shè)置當滿足/不滿足該觸發(fā)條件后掖疮,所啟用的期望初茶。開啟智能期望后,Apipost會根據(jù)已設(shè)置的觸發(fā)條件浊闪,匹配旗下的參數(shù)判斷規(guī)則恼布,若滿足條件,則會啟用預(yù)設(shè)的期望搁宾。
如何添加智能期望折汞?
1、我們可以添加多個觸發(fā)條件盖腿,每個觸發(fā)條件下支持填寫多個子條件爽待。
2、填寫好該觸發(fā)條件下的子條件后奸忽,需要選擇一個已有期望堕伪,作為滿足該觸發(fā)條件后所啟用期望揖庄。
3栗菜、當觸發(fā)條件下的所有子條件都被滿足時,該觸發(fā)條件才會被視為已滿足蹄梢。
獲取自動生成的Mock url
本地url:是在本地進行的mock服務(wù)疙筹,只在本地可見富俄,如需分享需要關(guān)閉防火墻。 云端url:是在Apipost云服務(wù)上進行的mock服務(wù)而咆,可以分享給他人霍比,當關(guān)閉url鏈接后,分享出去的頁面將不可見暴备。
API設(shè)計-保存并預(yù)覽文檔
我們在API設(shè)計模塊所設(shè)置的內(nèi)容悠瞬,可以自動生成一篇文檔以交付給前端,該文檔包含了接口信息涯捻、請求參數(shù)浅妆、響應(yīng)示例的所有內(nèi)容。
響應(yīng)示例:
1障癌、生成示例:生成的文檔默認不展示響應(yīng)示例凌外,我們可以通過點擊 “生成全部示例” 按鈕,生成所有已有期望所對應(yīng)的響應(yīng)示例涛浙,并自動提取其字段描述康辑。
2、更新示例:點擊每個響應(yīng)示例右側(cè)的“更新”按鈕轿亮,則會更新為最新的響應(yīng)示例疮薇。
編輯文檔:支持在預(yù)覽文檔的代碼框中編輯示列,點擊“保存”按鈕后生效我注。
分享文檔:點擊【分享文檔】按鈕后惦辛,我們可以設(shè)置分享的有效期和權(quán)限,并將該文檔分享給他人仓手。
API設(shè)計與API調(diào)試的關(guān)系
1胖齐、互不制約:我們可以先進入API設(shè)計模塊來設(shè)計API,也可以直接進入API調(diào)試模塊進行調(diào)試嗽冒,不存在某一模塊的內(nèi)容沒有手動寫全呀伙,另一個模塊沒法進行的問題。
2添坊、互相覆蓋:在API設(shè)計中保存好的接口信息剿另、全局參數(shù)、Mock URL贬蛙,會同步到API調(diào)試模塊雨女,同理,當API調(diào)試模塊有改動并保存后阳准,也會同步到API設(shè)計模塊氛堕。
3、靈活聯(lián)動:在API設(shè)計中建立的響應(yīng)期望野蝇,可以被引用到API調(diào)試的響應(yīng)示例中讼稚,并可以通過校驗功能括儒,判斷該響應(yīng)期望的響應(yīng)結(jié)果是否符合預(yù)期。