首页 > 其他分享 >Eolink神技之四、IDEA工具插件Eolink ApiKit

Eolink神技之四、IDEA工具插件Eolink ApiKit

时间:2022-12-31 21:33:24浏览次数:74  
标签:插件 return String Object eo id Eolink 神技 public


Eolink神技之四、IDEA工具插件Eolink ApiKit_上传

Eolink神技之四、IDEA工具插件Eolink ApiKit


目录

​​Eolink神技之四、IDEA工具插件Eolink ApiKit​​

​​前言​​

​​一、自动全代码注释​​

​​1.1测试环境​​

​​1.2Eolink Apikit安装​​

​​1.2.1自建bootstrap项目用作测试​​

​​1.2.2操作位置​​

​​1.2.3搜索并安装【Eolink ApiKit】​​

​​1.2.4添加eo注释​​

​​1.2.5注释效果​​

​​二、一键上传API​​

​​2.1配置服务信息​​

​​2.2Server获取​​

​​2.3SpaceKey获取​​

​​2.4ProjectHashKey获取​​

​​2.5选择上传分组​​

​​2.6一键上传API——单个API上传​​

​​2.7一键上传API——上传所有API​​

​​2.8接口测试​​

​​ 体验地址:​​

​​三、接口注释​​

​​四、属性注释​​

​​五、总结​​

​​体验地址:​​


前文回顾

​​Eolink神技之一、基于数据库智能生成API文档​​

​​Eolink神技之二、API全生命周期管理​​

​​Eolink神技之三、钉钉API对接​​

前言

我们在开发过程中会有很多小伙伴一起来做协作开发,但是会出现一个问题,就是每个人的注释习惯都不相同,那么,我们在后续了解程序的时候就很麻烦,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.1测试环境

测试语言:Java

系统环境:win10

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

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

1.2Eolink Apikit安装

1.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>

1.2.2操作位置

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

Eolink神技之四、IDEA工具插件Eolink ApiKit_java_02

1.2.3搜索并安装【Eolink ApiKit】

这里需要按照步骤操作:

1、选择【Plugins】。

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

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

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

Eolink神技之四、IDEA工具插件Eolink ApiKit_intellij-idea_03

1.2.4添加eo注释

这里我给了个示例代码,方便操作。这也是未加注释的类与函数。

import org.springframework.web.bind.annotation.*;

import java.util.UUID;

@RestController
@CrossOrigin
public 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】即可引入。

Eolink神技之四、IDEA工具插件Eolink ApiKit_上传_04

1.2.5注释效果

import org.springframework.web.bind.annotation.*;

import java.util.UUID;

/**
* @eo.api-type http
* @eo.groupName 默认分组
* @eo.path
*/

@RestController
@CrossOrigin
public 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

2.1配置服务信息

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

操作步骤:

1、搜索Eolink

2、选择Eolink Settings

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

4、输入注册账号

5、StringType选择【camelCase(default)】

6、点击【OK】,这里为了能放大的截图我就没截取【OK】,直接能看到的。

Eolink神技之四、IDEA工具插件Eolink ApiKit_上传_05

2.2Server获取

在自己的网页服务中就能看到对应的域名,但是这里在域名后面需要加上【/api】

Eolink神技之四、IDEA工具插件Eolink ApiKit_intellij-idea_06

2.3SpaceKey获取

大胆的往后啦,网址的最后一个参数就是我们要的spaceKey。

Eolink神技之四、IDEA工具插件Eolink ApiKit_API_07

2.4ProjectHashKey获取

复制的时候仔细一些,别落下一个两个字符的。

Eolink神技之四、IDEA工具插件Eolink ApiKit_上传_08

2.5选择上传分组

由于自动注释会选择【默认分组】,我们需要把默认分组改一下。

Eolink神技之四、IDEA工具插件Eolink ApiKit_ide_09

添加分组

Eolink神技之四、IDEA工具插件Eolink ApiKit_java_10

我创建了一个叫做【Eolink20221124】 的分组。

Eolink神技之四、IDEA工具插件Eolink ApiKit_上传_11

查看未上传的组。 

Eolink神技之四、IDEA工具插件Eolink ApiKit_API_12

修改注释

Eolink神技之四、IDEA工具插件Eolink ApiKit_intellij-idea_13

2.6一键上传API——单个API上传

鼠标右键选择【Upload Api】就是单个API上传。

Eolink神技之四、IDEA工具插件Eolink ApiKit_上传_14

先选择需要上传的API接口名称,再点击Upload上传即可。 

Eolink神技之四、IDEA工具插件Eolink ApiKit_API_15

右下角会显示上传成功提示,这里仅仅上传了【GetInfo】所以只显示一个。

Eolink神技之四、IDEA工具插件Eolink ApiKit_上传_16

成功效果: 

Eolink神技之四、IDEA工具插件Eolink ApiKit_上传_17

2.7一键上传API——上传所有API

选择【Upload All Api】

Eolink神技之四、IDEA工具插件Eolink ApiKit_ide_18

上传成功显示,这里显示了上传了所有的API。 

Eolink神技之四、IDEA工具插件Eolink ApiKit_上传_19

成功效果:

Eolink神技之四、IDEA工具插件Eolink ApiKit_API_20

2.8接口测试

Eolink神技之四、IDEA工具插件Eolink ApiKit_ide_21

测试成功:

Eolink神技之四、IDEA工具插件Eolink ApiKit_API_22

 体验地址:

​IDEA工具插件Eolink ApiKit​

三、接口注释

我写了个接口类,可以直接复制过去测试一下,很方便。

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​

标签:插件,return,String,Object,eo,id,Eolink,神技,public
From: https://blog.51cto.com/laoshifu/5982291

相关文章