目前SpringBoot系列框架非常流行葵袭,大多數(shù)開發(fā)都是基于前后端分離的模式進(jìn)行開發(fā)蛙酪,這種過程中勢(shì)必會(huì)涉及到大批量的API調(diào)試缭付,到目前為止拆火,IntelliJ IDEA是Java軟件開發(fā)最多使用的開發(fā)工具干毅,最近我在IntelliJ IDEA插件市場(chǎng)下找到了一塊非常好用的插件Restful Fast Request宜猜,細(xì)節(jié)非常到位,說它是IDEA版的Postman也不為過硝逢,推薦給大家姨拥!
什么是Restful Fast Request
Restful Fast Request 是idea版Postman绅喉。它是一個(gè)強(qiáng)大的restful api工具包插件,可以根據(jù)已有的方法幫助您快速生成url和params叫乌。Restful Fast Request = API調(diào)試工具 + API管理工具 + API搜索工具
柴罐。它有一個(gè)像Postman一樣界面來完成請(qǐng)求、檢查服務(wù)器響應(yīng)憨奸、存儲(chǔ)你的api請(qǐng)求和導(dǎo)出api請(qǐng)求革屠。插件幫助你在IDEA界面內(nèi)更快更高效地調(diào)試你的API
支持的框架
Spring 體系 (Spring MVC / Spring Boot)
Kotlin (Spring MVC / Spring Boot)
JAX-RS
安裝
- 方式1(推薦): IDEA插件市場(chǎng)搜索Restful Fast Request
- 方式2:
https://plugins.jetbrains.com/plugin/16988-restful-fast-request
配置
基礎(chǔ)配置
剛開始使用需要配置項(xiàng)目名[例如card]、環(huán)境名[例如local排宰、dev]似芝,然后配置對(duì)應(yīng)的域名
String生成配置
可以使得生成出來的字符串隨機(jī)動(dòng)態(tài)
策略
* name+random(字段名加隨機(jī)字符串)
* random(隨機(jī)字符串)
* none(不生成)
類型映射配置
參考
https://dromara.gitee.io/fast-request/guide/getstarted/dataMapping.html
使用
調(diào)試API
點(diǎn)擊接口左側(cè)的小火箭
按鈕即可直接生成調(diào)用接口所需的信息,點(diǎn)擊綠色的Send按鈕即可發(fā)送請(qǐng)求
下載文件
點(diǎn)擊藍(lán)色圖標(biāo)Send and Download
保存API
點(diǎn)擊生成完參數(shù),并進(jìn)行適量修改后板甘,可以對(duì)該API進(jìn)行保存党瓮,方便后續(xù)再次調(diào)試的時(shí)候使用
SearchEveryWhere支持
通過SearchEveryWhere可以快速搜索對(duì)應(yīng)的API,可以通過url關(guān)鍵字盐类、請(qǐng)求方式+url關(guān)鍵字寞奸、方法描述來搜索API
快速添加Token到Header
發(fā)送請(qǐng)求后可以通過response
中的Json
頁簽,選中字段在跳,點(diǎn)擊添加枪萄,將token快速添加到了項(xiàng)目級(jí)別的頭參數(shù)中,極大地節(jié)省了手動(dòng)復(fù)制操縱的行為猫妙。
API導(dǎo)出到Postman
可以將已經(jīng)保存的API導(dǎo)出到postman,非常方便
APIs列表
展示了保存的API瓷翻,同時(shí)也可以進(jìn)行各種不同策略的搜索,點(diǎn)擊右側(cè)的定位圖標(biāo)可以快速定位到對(duì)應(yīng)的代碼
吐咳,也可以直接點(diǎn)擊發(fā)送按鈕逻悠,對(duì)保存的API發(fā)起請(qǐng)求
API導(dǎo)入導(dǎo)出
可以將保存的API導(dǎo)入及導(dǎo)出,跟不同的開發(fā)之間分享
Curl拷貝
點(diǎn)擊小火箭生成完參數(shù)后韭脊,可以通過點(diǎn)擊curl圖標(biāo)快速生成對(duì)應(yīng)api的crul
Swagger默認(rèn)值解析支持
支持swagger2童谒、swagger3默認(rèn)值解析
支持的注解
swagger2
* @ApiParam
@GetMapping(value="/test/{id}")
public String test3(@ApiParam(name = "id",example="2") @PathVariable("id") Integer id) {
return "";
}
@GetMapping(value="/test/{id}")
public String test3(@ApiParam(name = "id",defaultValue="2") @PathVariable("id") Integer id) {
return "";
}
* @ApiImplicitParam
@ApiImplicitParams({
@ApiImplicitParam(paramType="query",name="pageNo",dataType="String",required=true,value="pageNo",defaultValue="1"),
@ApiImplicitParam(paramType="query",name="pageSize",dataType="String",required=true,value="pageSize",defaultValue="10")
})
@GetMapping(value="/testPage)
public String testPage(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize) {
return "";
}
* @ApiModelProperty
@Data
public class UserDto {
@ApiModelProperty(example = "Bob")
private String userName;
}
swagger3
* @Parameter
@GetMapping(value="/test/{id}")
public String test3(@Parameter(name = "id",example="2") @PathVariable("id") Integer id) {
return "";
}
* @Schema(swagger3)
@Data
public class UserDto {
@Schema(example = "Bob")
private String userName;
}
API自動(dòng)生成注釋
字段注釋需要符合標(biāo)準(zhǔn)注釋規(guī)范,使用/*描述/
可以通過點(diǎn)擊隱藏或顯示Description
API生成Markdown文檔
當(dāng)我們?cè)陂_發(fā)API的時(shí)候,例如在跟第三方對(duì)接接口的時(shí)候往往需要API文檔沪羔,那么可以通過該功能快速導(dǎo)出API對(duì)應(yīng)的文檔
API預(yù)覽
API預(yù)覽可以快速預(yù)覽當(dāng)前Controller下的API饥伊,并且可以快速定位代碼。聚焦窗口后輸入關(guān)鍵字,根據(jù)API的路徑關(guān)鍵字可以快速搜索
項(xiàng)目全局參數(shù)
可以進(jìn)行配置蔫饰,設(shè)置項(xiàng)目級(jí)別下的Headers琅豆、Url Params、Url-Encoded Params篓吁、Cookie等全局參數(shù)
自動(dòng)Cookie存儲(chǔ)
當(dāng)一些需要cookie支持的項(xiàng)目茫因,當(dāng)發(fā)送完請(qǐng)求后,插件會(huì)自動(dòng)地將Cookie放入項(xiàng)目級(jí)別參數(shù)Cookie中杖剪,后續(xù)需要Cookie的請(qǐng)求就可以使用該Cookie了
歷史請(qǐng)求預(yù)覽
該功能可以讓我們查閱歷史請(qǐng)求的API以及對(duì)于的參數(shù)冻押、url等信息
Html預(yù)覽
可以對(duì)html形式的響應(yīng)在IDEA內(nèi)進(jìn)行預(yù)覽
總結(jié)
Restful Fast Request這個(gè)插件驰贷,體驗(yàn)確實(shí)不錯(cuò)。深入體驗(yàn)洛巢,確實(shí)能發(fā)現(xiàn)很多驚喜括袒,并且提供了免費(fèi)版和收費(fèi)版,收費(fèi)版中又做了很多細(xì)致化的功能稿茉,提升了很大的生產(chǎn)力锹锰,而且加入技術(shù)群直接打6折,確實(shí)值得入手一把
Restful Fast Request,最好用的IDEA API調(diào)試插件