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

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