<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          再見Postman!一款更適合國人的接口管理工具

          共 4227字,需瀏覽 9分鐘

           ·

          2021-10-02 02:02

          我們都知道在一個團隊中是由很多角色組成的,例如:業(yè)務、產(chǎn)品、設計、前端、后端、測試。每個角色各司其職,一起合作完成項目的交付。

          而前端與后端的溝通則是需要通過一個統(tǒng)一的文件進行溝通交流,即通過接口文檔事先約定好后端的接口返回內(nèi)容,然后大家就按照這個文檔約定完成前后端的開發(fā)。并且一般接口文檔都是通過后端人員編寫的,維護流程也比較繁瑣。

          最近被群里小伙伴安利了一款接口管理工具 ApiPost,陌溪在使用后覺的非常不錯,在這里我也分享給大家。

          ApiPost 包含了以下四種功能,同時具備接口調(diào)試,接口文檔,以及 Mock 工具,以及接口流程測試。

          ApiPost = API 接口調(diào)試工具 + 接口文檔快速生成 + Mock 工具 + 接口流程測試

          • API 接口調(diào)試工具:常見的有 Postman、Postwoman 等等

          • 接口文檔快速生成:常見的接口文檔工具有 Swaggersmart-doc,但是對代碼侵入性比較強。

          • Mock 工具:主要用于前端根據(jù)接口生成對應的數(shù)據(jù),如 RAP 等工具。

          • 接口測試:常見的接口測試工具有 JMeter

          同時 ApiPost 也是國人開發(fā)的一款接口管理工具,致力于打造更好用的、中文的、接口調(diào)試與文檔管理工具(簡直是英語渣渣的福音~)

          ApiPost首頁

          Api 接口調(diào)試

          代碼格式化

          接口調(diào)試是在開發(fā)階段中使用最多的一個功能,利用 ApiPost 進行常規(guī)的接口調(diào)試功能

          ApiPost 進行常規(guī)的接口調(diào)試功能

          讓我感覺最舒服的是,對于返回的參數(shù)是可以進行 Json 格式化的,下面是 Postman 自帶的 Pretty 功能 。

          Postman自帶的Pretty功能

          下面是 ApiPostJson 格式化功能,并且通過右側(cè)的三角形,可以對數(shù)組元素進行展開或者合攏。在面對返回結(jié)果是一個數(shù)組,并且每個對象中字段很多的時候,這個功能就非常棒了。

          ApiPost的Json格式化功能

          沒有對比就沒有傷害,在看看 Postman 的輸出,每次只能把結(jié)果復制出來,然后打開 Json 在線格式化,才能夠看到返回的結(jié)果,簡直增加了額外的負擔。

          Json 格式化:https://www.sojson.com/

          在線Json格式化

          全局參數(shù)

          同時,還有一個讓我非常喜歡的點,就是 全局參數(shù)。

          在上面的示例中,我們需要給接口填寫對應的鑒權請求頭,才能夠請求后臺獲得數(shù)據(jù)。

          全局參數(shù)

          但在實際項目中,對于一批接口需要測試的時候,往往每個接口都需要填寫相同的鑒權請求頭,這樣過程會非常繁瑣。如果使用 ApiPost 的話,我們可以利用全局參數(shù)或者目錄參數(shù)實現(xiàn)。

          全局參數(shù)

          配置完成后,以后添加的接口,再次請求后臺時,就會攜帶全局定義的請求頭過去。同理,還支持全局的 Query 以及 Body,可以把一些不變的請求參數(shù)都配置好全局參數(shù),這樣會讓我們編寫接口請求時,省下很多時間~

          目錄參數(shù)

          同時,我們還可以創(chuàng)建不同的目錄,用來區(qū)分項目接口所處的不同模塊。例如:以蘑菇博客為例,可以創(chuàng)建兩個目錄 mogu-adminmogu-web,分別代表蘑菇博客的后端管理與門戶項目。

          蘑菇博客地址:https://gitee.com/moxi159753/mogu_blog_v2

          因為,后臺管理和門戶是有兩套鑒權邏輯的,即上面提到的全局配置 token 就不能針對兩個場景生效了!

          那如果我還想同時測試 門戶類相關接口,或者是后臺管理相關接口,那怎么辦呢?

          這個時候就需要用到目錄參數(shù)了,它的作用和全局參數(shù)雷同,只是作用域不一樣,mogu-admin 目錄下的接口不會使用同級的 mogu-web 目錄的目錄參數(shù)作為發(fā)送參數(shù)。

          目錄參數(shù)

          通過對不同的目錄,配置不同的全局參數(shù),即可完美的解決剛剛的場景。

          同時,當全局參數(shù)、目錄參數(shù)、接口中都使用了同一個參數(shù)時,最終會按照以下優(yōu)先級讀取參數(shù)值:

          單個接口 > 目錄參數(shù) > 全局參數(shù)

          如上面的示例,如果全局參數(shù)、目錄參數(shù)、接口中都定義了 header 參數(shù) token:

          全局參數(shù):token 值為:698d51a19d8a121ce581499d7b701668 // 最低優(yōu)先級 目錄參數(shù):token 值為:b50e345cc9febd86dedecc551ebcc505 // 其次優(yōu)先級 單接口參數(shù):token 值為:a1a9db893bb8a28ccb665d2af54d9417 // 最高優(yōu)先級

          那么最終發(fā)送的 token 值為:a1a9db893bb8a28ccb665d2af54d9417

          接口文檔快速生成

          點擊分享文檔,即可獲取對應的文檔鏈接

          復制并打開文檔地址就可以看到了完整的接口文檔。

          細心的小伙伴可能會發(fā)現(xiàn),這個請求參數(shù)上沒有相關字段的介紹,我們回到剛剛的 ApiPost 頁面,點擊 提取字段和描述,然后填入對應的字段名稱。

          然后重新發(fā)布,即可看到每個字段的含義了

          有更細心的小伙伴,可能又會發(fā)現(xiàn),這里為啥缺了點返回值呢?那是因為 APIPOST 不會把發(fā)送后的實時響應的數(shù)據(jù)作為響應示例。這個時候,需要手動的將實時響應結(jié)果導入或者復制到對應的成功響應示例和錯誤響應示例。

          然后重新生成文檔,這個時候,就會包含我們的成功示例啦。

          同時還有對應的返回值字段描述

          通過這個方法,可以隨時隨地的測試以及更新文檔,簡直是后端小伙伴的福音~

          但是,不知道小伙伴們有沒有發(fā)現(xiàn)一個問題,就是在生成接口文檔的時候,還是需要自己填寫參數(shù)描述。

          填寫參數(shù)描述是我們最煩惱的一件事情,尤其對于很多接口來說,往往具有大量相同名稱、相同意義的參數(shù),假如每次都需要手動錄入,將會是一件非常耗時、低效的事情。

          這個時候,我們可以通過 ApiPost 參數(shù)描述庫解決這個問題,通過自定義參數(shù)描述庫,我們可以將本項目用到的大量參數(shù)進行預注釋。

          并且,我們在填寫完某個描述后,會自動同步到 參數(shù)描述庫,以后如果匹配到了相同的名稱,會自動生成對應的描述,簡直是一勞永逸的方法。

          Mock 工具

          我們都知道,在后端接口還沒有開發(fā)完成的時候,接口是無法獲取數(shù)據(jù)的,那么前端小伙伴就需要通過 Mock 事先編寫好 API 的數(shù)據(jù)生成規(guī)則,由工具動態(tài)生成 API 的返回數(shù)據(jù)。通過訪問 Mock 來獲得頁面所需要的數(shù)據(jù),就可以輕松地完成對接工作。前后端人員只需要定義好接口文檔就可以開始并行工作,互不影響,只在最后的聯(lián)調(diào)階段往來密切。

          ApiPost 可以讓你在沒有后端程序的情況下能真實地返回接口數(shù)據(jù),我們可以用 ApiPost 實現(xiàn)項目初期純前端的效果演示,也可以用 ApiPost 實現(xiàn)開發(fā)中的數(shù)據(jù)模擬從而實現(xiàn)前后端分離。

          同時,ApiPost 支持參數(shù)直接引用 mock.js 變量,點擊下方可以查看 內(nèi)置 Mock 字段變量 有哪些

          目前常用的內(nèi)置變量有以下幾種:

          • @guid():隨機生成一個 GUID,例:DEfbBBBf-7A23-a4DB-9BB1-57BCFf5FB5fc

          • @integer(1,100):隨機生成一個 1 ~100 的整數(shù)

          • @datetime('yyyy-MM-dd HH:mm:ss'):返回一個隨機的日期和時間字符串。例:1977-11-17 03:50:15

          • @url('http'):生成隨機一個 http URL

          • @email():生成一個隨機 email 郵箱

          • @province():隨機生成一個中國省份(或直轄市、自治區(qū)、特別行政區(qū))

          • @city():隨機生成一個中國城市

          • @title():隨機生成一個標題

          • @cname():隨機生成一個中文名稱

          • @cparagraph():隨機生成一段中文文本

          下面我們利用這些常見的 Mock 變量,來生成一個 Mock 服務吧。

          首先點擊 Mock 服務,然后編輯 Mock 模板,右側(cè)即可看到我們實時生成的 Mock 數(shù)據(jù)

          在點擊上方的 復制鏈接 ,即可把這個接口的 mock 請求交給前端小伙伴了,然后各種進行合作開發(fā)。

          測試流程

          流程測試是針對一個接口集合的測試,選擇相應的環(huán)境,可以作為一系列請求一起運行。當您想要自動化 API 測試時,流程測試非常有用。點擊開始,接口集合會并發(fā)的像服務器發(fā)出請求,最后會按照定義好的測試校驗模塊給出測試結(jié)果。對于測試同學來說,這是一個非常不錯的功能。

          在 ApiPost 中,創(chuàng)建一個流程測試需要如下步驟:

          • 新建接口,并添加斷言
          • 打開流程測試,新建一個流程
          • 向流程添加測試接口
          • 選擇環(huán)境,點擊開始測試
          • 查看返回的測試接口

          流程測試界面如下圖:

          通過點擊接口名稱查看請求的請求和響應參數(shù)信息

          同時在 ApiPost 中,還提供了很多內(nèi)置函數(shù),例如我們很輕松的就可以對某個變量進行解密處理。

          更多關于 ApiPost 的功能,還等待小伙伴去發(fā)現(xiàn)。好啦,本期就到這里啦。

          < END >

          也許你還想看
            | 我在 B 站淘了 2 個 Java 實戰(zhàn)項目! 小破站,YYDS!
            | 我常用的20+個學習編程的網(wǎng)站!蕪湖起飛!
            | 1w+字的 Dubbo 面試題/知識點總結(jié)?。?021 最新版)
            | 7年前,24歲,出版了一本 Redis 神書
            | 京東二面:為什么需要分布式ID?你項目中是怎么做的?
            | 再見 Spring Task,這個定時任務框架真香!
            | 一鍵生成數(shù)據(jù)庫文檔,堪稱數(shù)據(jù)庫界的Swagger
            | 來看看這個超好用的項目腳手架吧!5分鐘搭建一個Spring Boot 前后端分離系統(tǒng)!
            | Spring 官宣,干掉 Spring 5.3.x!

          我是 Guide哥,一個工作2年有余,接觸編程已經(jīng)6年有余的程序員。大三開源 JavaGuide,目前已經(jīng) 100k+ Star。未來幾年,希望持續(xù)完善 JavaGuide,爭取能夠幫助更多學習 Java 的小伙伴!共勉!凎!點擊即可了解我的個人經(jīng)歷。

          歡迎點贊分享。咱們下期再會!

          瀏覽 46
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日日夜夜噜 | 潮喷在线| 久久久夜色视频 | 一级a一级a爱片免费 | 豆花在线观看 |