> 文档中心 > Eolink自动全代码注释&自动上传API

Eolink自动全代码注释&自动上传API

目录

一、自动全代码注释

测试环境

Eolink Apikit安装

1、自建bootstrap项目用作测试

2、点击【File】->【Settings...】

3、搜索并安装【Eollink ApiKit】

4、添加eo注释

5、注释效果

二、一键上传API

1、配置服务信息

2、Server获取

3、SpaceKey获取

4、ProjectHashKey获取

5、选择上传分组

添加分组

修改注释

6、一键上传API——单个API上传

7、一键上传API——上传所有API

8、接口测试

三、接口注释

四、属性注释

五、总结


一、自动全代码注释

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());    }}

测试环境

测试语言:Java

系统环境:win10

开发环境:IntelliJ IDEA 2021.3.2(支持2020-2022年版本)

Plugins搜索:【Eolink Apikit】点击【install】安装。

Eolink Apikit安装

1、自建bootstrap项目用作测试

这块步骤就略过了,咱们程序员应该都是会的。我用的maven的pom.xml我分享一下。一看就知道是个自定义的返回测试微服务。

          org.springframework.boot     spring-boot-starter-web       org.springframework.boot     spring-boot-starter-tomcat     provided       org.springframework.boot     spring-boot-starter-test     test     

2、点击【File】->【Settings...】

选择设置

3、搜索并安装【Eollink ApiKit】

这里需要按照步骤操作:

1、选择【Plugins】。

2、在搜索框中搜索【Eolink ApiKit】。

3、点击搜索结果【Search Results】中出现的【Eolink ApiKit】的【Install】按钮,我这里安装过了,故而显示一个过去时的【Installed】。

4、点击【OK】确认操作。

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】即可引入。

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()); }    }}

二、一键上传API

1、配置服务信息

前置条件:再次打开【Settings】

操作步骤:

1、搜索Eolink

2、选择Eolink Settings

3、服务器上获取【Server】、【SpaceKey】、【ProjectHashKey】

4、输入注册账号

5、StringType选择【camelCase(default)】

6、点击【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 World");    }}