前言:
今天咱们对“快捷注释java”大约比较珍视,小伙伴们都想要剖析一些“快捷注释java”的相关知识。那么小编在网络上收集了一些关于“快捷注释java””的相关知识,希望你们能喜欢,朋友们一起来学习一下吧!前言
我们在开发过程中会有很多小伙伴一起来做协作开发,但是会出现一个问题,就是每个人的注释习惯都不相同,那么,我们在后续了解程序的时候就很麻烦,Eolink 提供的这个功能就非常棒,可以直接自动全代码注释,我们只需要填写少量的关键字即可。非常的方便高效,并且统一了注释规范。在本博客中,我会先演示自动全代码注释,之后会根据我们注释的内容一键式上传到我们的 Eolink 进行批量测试。
一、自动全代码注释
Eolink 提供了【idea】的【Eolink ApiKit】插件,此插件可以快速的将类与函数均添加一个标准的 Eolink 注释方法。
注释示例:
这里为了测试方便,我写了一些直接返回的测试接口。
/** * @eo.name UpdateById * @eo.url /api/UpdateById * @eo.method put * @eo.request-type formdata * @param id * @param introduce * @return Object */@PutMapping("/api/UpdateById")public Object UpdateById(String id,String introduce) { try { return new SUCCESS("修改"+id+"成功", UUID.randomUUID()); } catch (Exception e) { return new ERROR("修改"+id+"失败", UUID.randomUUID()); }}
1、测试环境
测试语言:Java
系统环境:win10
开发环境:IntelliJ IDEA 2021.3.2(支持 2020-2022 年版本)
Plugins 搜索:【Eolink Apikit】点击【install】安装。
2、Eolink Apikit 安装
2.1 自建 bootstrap 项目用作测试
这块步骤就略过了,咱们程序员应该都是会的。我用的 maven 的 pom.xml 我分享一下。一看就知道是个自定义的返回测试微服务。
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
2.2 操作位置
点击【File】->【Settings...】
2.3 搜索并安装【Eolink ApiKit】
这里需要按照步骤操作:
选择【Plugins】。在搜索框中搜索【Eolink ApiKit】。点击搜索结果【Search Results】中出现的【Eolink ApiKit】的【Install】按钮,我这里安装过了,故而显示一个过去时的【Installed】。点击【OK】确认操作。
2.4 添加 eo 注释
这里我给了个示例代码,方便操作,这也是未加注释的类与函数。
import org.springframework.web.bind.annotation.*;import java.util.UUID;@RestController@CrossOriginpublic class EolinkApiController { @GetMapping("/api/GetInfo")public Object GetInfo() { return new SUCCESS("初始化成功", UUID.randomUUID()); } @GetMapping("/api/SelectById")public Object SelectById(String id) { return new SUCCESS("查询"+id+"成功", UUID.randomUUID()); } @PostMapping("/api/Login")public Object Login(String userName,String passWord) { return new SUCCESS("登录成功", UUID.randomUUID()); } @PostMapping("/api/AddInfo")public Object AddInfo(String userName,String passWord,String introduce) { return new SUCCESS("添加成功", UUID.randomUUID()); } @PutMapping("/api/UpdateById")public Object UpdateById(String id,String introduce) { try { return new SUCCESS("修改"+id+"成功", UUID.randomUUID()); } catch (Exception e) { return new ERROR("修改"+id+"失败", UUID.randomUUID()); } }}//自己找个位置创建一个,这个不需要引入到API中,我就方便用于返回class BackResult { public BackResult(String message, Object result) { this.state = true; this.message = message; this.result = result; } public boolean state; public String message; public Object result;}class SUCCESS extends BackResult { public SUCCESS(String message, Object result) { super(message, result); this.state = true; }}class ERROR extends BackResult { public ERROR(String message, Object result) { super(message, result); this.state = false; }}
鼠标右键点击【Generate Class Doc】选择【HTTP】即可引入
2.5 注释效果
import org.springframework.web.bind.annotation.;import java.util.UUID;/* * @eo.api-type http * @eo.groupName 默认分组 * @eo.path /@RestController@CrossOriginpublic class EolinkApiController { /* * @eo.name GetInfo * @eo.url /api/GetInfo * @eo.method get * @eo.request-type formdata * @return Object /@GetMapping("/api/GetInfo")public Object GetInfo() { return new SUCCESS("初始化成功", UUID.randomUUID()); } /* * @eo.name SelectById * @eo.url /api/SelectById * @eo.method get * @eo.request-type formdata * @param id * @return Object /@GetMapping("/api/SelectById")public Object SelectById(String id) { return new SUCCESS("查询"+id+"成功", UUID.randomUUID()); } /* * @eo.name Login * @eo.url /api/Login * @eo.method post * @eo.request-type formdata * @param userName * @param passWord * @return Object /@PostMapping("/api/Login")public Object Login(String userName,String passWord) { return new SUCCESS("登录成功", UUID.randomUUID()); } /* * @eo.name AddInfo * @eo.url /api/AddInfo * @eo.method post * @eo.request-type formdata * @param userName * @param passWord * @param introduce * @return Object /@PostMapping("/api/AddInfo")public Object AddInfo(String userName,String passWord,String introduce) { return new SUCCESS("添加成功", UUID.randomUUID()); } /* * @eo.name UpdateById * @eo.url /api/UpdateById * @eo.method put * @eo.request-type formdata * @param id * @param introduce * @return Object */@PutMapping("/api/UpdateById")public Object UpdateById(String id,String introduce) { try { return new SUCCESS("修改"+id+"成功", UUID.randomUUID()); } catch (Exception e) { return new ERROR("修改"+id+"失败", UUID.randomUUID()); } }}
二、一键上传API1、配置服务信息
前置条件:再次打开【Settings】
操作步骤:
搜索 Eolink选择 Eolink Settings服务器上获取【Server】、【SpaceKey】、【ProjectHashKey】输入注册账号StringType 选择【camelCase(default)】点击【OK】,这里为了能放大的截图我就没截取【OK】,直接能看到的。
2、Server获取
在自己的网页服务中就能看到对应的域名,但是这里在域名后面需要加上【/api】
3、SpaceKey 获取
大胆的往后拉,网址的最后一个参数就是我们要的 spaceKey。
4、ProjectHashKey获取
复制的时候仔细一些,别落下一个两个字符的。
5、选择上传分组
由于自动注释会选择【默认分组】,我们需要把默认分组改一下。
添加分组
我创建了一个叫做【Eolink20221124】 的分组。
查看未上传的组。
修改注释
6、一键上传 API ——单个 API 上传
鼠标右键选择【Upload Api】就是单个 API 上传。
先选择需要上传的 API 接口名称,再点击 Upload 上传即可。
右下角会显示上传成功提示,这里仅仅上传了【GetInfo】所以只显示一个。
成功效果:
7、一键上传 API ——上传所有 API
选择【Upload All Api】
上传成功显示,这里显示了上传了所有的 API。
成功效果:
8、接口测试
测试成功:
三、接口注释
我写了个接口类,可以直接复制过去测试一下,很方便。
public interface EolinkDAO { public Object GetInfo(); public Object SelectById(String id) ; public Object Login(String userName,String passWord); public Object AddInfo(String userName,String passWord,String introduce); public Object UpdateById(String id,String introduce);}
这是注释效果:
/** * @eo.api-type http * @eo.groupName 默认分组 * @eo.path /public interface EolinkDAO { /* * @eo.name GetInfo * @eo.url * @eo.method get * @eo.request-type formdata * @return Object /public Object GetInfo(); /* * @eo.name SelectById * @eo.url * @eo.method get * @eo.request-type formdata * @param id * @return Object /public Object SelectById(String id) ; /* * @eo.name Login * @eo.url * @eo.method get * @eo.request-type formdata * @param userName * @param passWord * @return Object /public Object Login(String userName,String passWord); /* * @eo.name AddInfo * @eo.url * @eo.method get * @eo.request-type formdata * @param userName * @param passWord * @param introduce * @return Object /public Object AddInfo(String userName,String passWord,String introduce); /* * @eo.name UpdateById * @eo.url * @eo.method get * @eo.request-type formdata * @param id * @param introduce * @return Object */public Object UpdateById(String id,String introduce);}
四、属性注释
测试代码:
import java.util.Date;public class Eolink { private String id; private Date createDate; private String projectName; private String introduce; public String getId() { return id; } public void setId(String id) { this.id = id; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public String getProjectName() { return projectName; } public void setProjectName(String projectName) { this.projectName = projectName; } public String getIntroduce() { return introduce; } public void setIntroduce(String introduce) { this.introduce = introduce; }}
注释效果:
import java.util.Date;/** * @eo.api-type http * @eo.groupName 默认分组 * @eo.path /public class Eolink { private String id; private Date createDate; private String projectName; private String introduce; /* * @eo.name getId * @eo.url * @eo.method get * @eo.request-type formdata * @return String /public String getId() { return id; } /* * @eo.name setId * @eo.url * @eo.method get * @eo.request-type formdata * @param id * @return void /public void setId(String id) { this.id = id; } /* * @eo.name getCreateDate * @eo.url * @eo.method get * @eo.request-type formdata * @return Date /public Date getCreateDate() { return createDate; } /* * @eo.name setCreateDate * @eo.url * @eo.method get * @eo.request-type formdata * @param createDate * @return void /public void setCreateDate(Date createDate) { this.createDate = createDate; } /* * @eo.name getProjectName * @eo.url * @eo.method get * @eo.request-type formdata * @return String /public String getProjectName() { return projectName; } /* * @eo.name setProjectName * @eo.url * @eo.method get * @eo.request-type formdata * @param projectName * @return void /public void setProjectName(String projectName) { this.projectName = projectName; } /* * @eo.name getIntroduce * @eo.url * @eo.method get * @eo.request-type formdata * @return String /public String getIntroduce() { return introduce; } /* * @eo.name setIntroduce * @eo.url * @eo.method get * @eo.request-type formdata * @param introduce * @return void */public void setIntroduce(String introduce) { this.introduce = introduce; }
五、总结
自动注释我测试了类和函数、属性等内容,都是可以注释的,而且很标准的注释,我们在刚才的整个操作过程中也能看到其标准度还是很高的。
这是基础的一个类的 main 方法注释。甚至只要有一定英语基础的小朋友也能很明白的看出注释的信息,所以非常的推荐给刚上大学的小朋友们,以后再也不会被老师说没写注释,或者注释写的不标准了,并且所有接口都能一键上传, 测试起来也是很方便。
/** * @eo.api-type http * @eo.groupName 默认分组 * @eo.path /public class Action { /* * @eo.name main * @eo.url * @eo.method get * @eo.request-type formdata * @param args * @return void */public static void main(String[] args) { System.out.println("Hello Eolink"); }}
体验地址:IDEA 工具插件 Eolink ApiKit()
标签: #快捷注释java