之前用的swagger这溅,必須要寫注解才能在swagger文檔中顯示,測(cè)試起來(lái)也很方便,JAPIDOCS自動(dòng)生成接口文檔,不需要寫任何注解,可以生成html形式的文檔乓梨,還能生成docx格式的文檔,我試了下径荔,確實(shí)挺方便督禽。
上圖是我生成的文件。
這是生成的接口文檔頁(yè)面总处,包含controller中的方法狈惫。
參數(shù),實(shí)體一目了然鹦马。還能生成安卓和ios的實(shí)體胧谈,前端開發(fā)可以直接復(fù)制粘貼走,省事很多荸频。
上圖是安卓實(shí)體菱肖。
上圖是ios實(shí)體。
下面我來(lái)說說如何操作旭从。
首先常規(guī)的添加依賴稳强,這個(gè)項(xiàng)目在github上,可以把源碼蕩下來(lái)瞅瞅和悦,改改上傳到自己的maven私服退疫,據(jù)為已有。
? <groupId>io.github.yedaxia
? <artifactId>japidocs
? <version>1.4
</dependency>
雖然說該文檔不需要寫任何注解鸽素,但是要遵循一定的規(guī)范褒繁,不然這些文檔咋能生成呢?下面我寫了個(gè)demoController馍忽,以下粘貼出來(lái)代碼棒坏。
package com.example.xiaowu.controller;
import com.example.xiaowu.domain.Res;
import com.example.xiaowu.domain.Use;
import com.example.xiaowu.domain.requestVO.UseVo;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("demo/user")
public class DemoController {
/**
? ? * 新增用戶
? ? * @param user
? ? * @Author : pipi.dan
? ? * @Date : 2021/1/23 9:53
*/
? ? @PostMapping("add")
public Resadd(@RequestBody Use user){
Res result =new Res<>();
? ? ? ? return result;
? ? }
/**
? ? * 查詢用戶列表
? ? * @param uid 用戶id
? ? * @param name 用戶名
? ? * @Author : pipi.dan
? ? * @Date : 2021/1/23 9:53
*/
? ? @GetMapping("query")
public Res>query(Long uid, String name){
Res> result =new Res<>();
? ? ? ? return result;
? ? }
}
我寫了一個(gè)返回實(shí)體和兩個(gè)入?yún)?shí)體。
Res
package com.example.xiaowu.domain;
import lombok.Data;
/**
* @program: danpipi
* @description: 返回
* @author: Wu
* @create: 2021-01-22 11:47
**/
@Data
public class Res {
private int code;
? ? private boolean status;
? ? private Stringmsg;
? ? private T data;
}
Use
package com.example.xiaowu.domain;
import lombok.Data;
@Data
public class Use {
/**
? ? * 用戶Id
*/
? ? private Longuid;
? ? /**
? ? * 用戶名
? ? */
? ? private Stringname;
}
UseVo
package com.example.xiaowu.domain.requestVO;
import com.example.xiaowu.domain.Use;
import lombok.Data;
@Data
public class UseVoextends Use {
/**
? ? * 用戶信息
? ? */
? ? private Stringinfo;
}
寫一個(gè)配置文件遭笋,隨便寫哪里都行坝冕,然后寫個(gè)main方法,我是為了規(guī)范跟我的配置文件寫一起了瓦呼。
main方法內(nèi)容如下:
package com.example.xiaowu.config;
import io.github.yedaxia.apidocs.Docs;
import io.github.yedaxia.apidocs.DocsConfig;
import io.github.yedaxia.apidocs.plugin.markdown.MarkdownDocPlugin;
/**
* @program: xiaowu
* @description: JapiDoc
* @author: Wu
* @create: 2021-01-22 11:41
**/
public class CreateJapiDocsConfig {
public static void main(String[] args) {
DocsConfig config =new DocsConfig();
? ? ? ? // 項(xiàng)目根目錄
? ? ? ? config.setProjectPath("D:\\ideaworkspace\\house");
? ? ? ? // 項(xiàng)目名稱
? ? ? ? config.setProjectName("house");
? ? ? ? // 聲明該API的版本
? ? ? ? config.setApiVersion("V1.0");
? ? ? ? // 生成API 文檔所在目錄
? ? ? ? config.setDocsPath("D:\\api");
? ? ? ? // 配置自動(dòng)生成
? ? ? ? config.setAutoGenerate(Boolean.TRUE);
? ? ? ? //添加生成doc文檔的文檔
? ? ? ? config.addPlugin(new MarkdownDocPlugin());
? ? ? ? // 執(zhí)行生成文檔
? ? ? ? Docs.buildHtmlDocs(config);
? ? }
}
單機(jī)運(yùn)行此方法就可以生成html文檔徽诲。
但是想要docx文檔,我們需要安裝一下pandoc插件吵血,下載地址在
https://github.com/jgm/pandoc/releases/tag/2.10.1谎替,找到msi格式的下載下來(lái)安裝到電腦上后,執(zhí)行如下命令可以將生成的md文件轉(zhuǎn)化成docx接口文檔蹋辅。
pandoc -s docs.md -o docs.docx
在你的工作空間那里cmd執(zhí)行
docx接口文檔已經(jīng)生成了钱贯,是不是很簡(jiǎn)單快捷呢?
喜歡請(qǐng)關(guān)注“蛋皮皮”微信公眾號(hào)侦另!