LKADocument是一款基於SpringBoot註解全自動生成接口文檔的工具,能夠描述任何複雜的出參入參字段說明,使用簡單,UI界面直觀友好,支持調試接口,是前後端開發模式的效率利器。 此次版本升級帶來更智能化的體驗!新增功能有:
1.極簡配置->支持免配置,只需在springBoot啓動加上LKADocument註解,並指定包路徑就可以使用了。例:
/**
basePackages:要掃描的包路徑,多個用英文逗號隔開
projectName:項目名稱(不是必須)
description:項目描述(不是必須)
enabled:是否啓用(不是必須,默認是開啓)
*/
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
@LKADocument(basePackages="com.yqh.hc",projectName="項目名稱",description="項目描述",enabled=true)
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication .class, args);
}
}
2.極簡參數註解->支持一個註解描述多個入參或出參。簡化非必需入參描述,只需在參數名後面加上"-n"即可例:
@LKAType("測試類")
@RestController
public class LKADemoController {
/**
* 說明:入參屬性名後面加上'-n'代表不是必傳字段,例如下面"id-n"那麼代表入參id不是必須的
*/
@LKAMethod("測試方法1")
@LKAParam(names={"id-n","name","age"},values={"用戶ID","用戶姓名","用戶年齡"},dataTypes={"Integer","String","Integer"})
@LKAResposes({
@LKARespose(names= {"code","msg"},values= {"狀態碼","消息"}),
@LKARespose(type=User.class,parentName="result"),
})
@GetMapping("test1")
public Map<String,Object> test1(Integer id,String name,Integer age) {
Map<String,Object> map = new HashMap<>();
User user = new User();
user.setId(id);
user.setAge(age);
user.setName(name);
map.put("code",200);
map.put("msg","操作成功");
map.put("result",user);
return map;
}
/**
* 說明:如果aaa和bbb參數的父級節點是一樣的,可以直接使用parentNames={"result"}或parentName="result"來指定
* */
@LKAMethod("測試方法2")
@LKAParam(names={"id-n","name","age"},values={"用戶ID","用戶姓名","用戶年齡"},dataTypes={"Integer","String","Integer"})
@LKAResposes({
@LKARespose(names= {"aaa","bbb"},values= {"data1","data2"},parentNames= {"result","result"}),
@LKARespose(type=User.class,parentName="user",grandpaName="result"),
})
@GetMapping("test2")
public ApiResult test2(Integer id,String name,Integer age) {
ApiResult res = new ApiResult();
User user = new User();
user.setId(id);
user.setAge(age);
user.setName(name);
res.setCode(200);
res.setMessage("操作成功");
res.put("user",user);
res.put("aaa","aaa");
res.put("bbb","bbb");
return res;
}
@LKAModel
class User{
@LKAProperty(value="主鍵ID")
private Integer id;
@LKAProperty(value="年齡")
private Integer age;
@LKAProperty(value="姓名")
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@LKAModel
class ApiResult{
@LKAProperty(value = "狀態碼")
private int code;
@LKAProperty(value = "返回消息")
private String message;
@LKAProperty(value = "返回數據")
private Map<String,Object> result = new HashMap<>();
public void put(String key,Object value){
this.result.put(key,value);
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Map<String, Object> getResult() {
return result;
}
public void setResult(Map<String, Object> result) {
this.result = result;
}
}
}
測試方法1效果圖:
測試方法2效果圖:
3.希望大家在使用過程中遇到BUG或有什麼好的建議,可以在下面留言,你們的支持是我最大的動力
jar包地址:https://download.csdn.net/download/liukaitydn/12358006
基礎教程請參考:https://blog.csdn.net/liukaitydn/article/details/104054322