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