LKADocument 3.0版本发布

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章