提交 1608d236 authored 作者: mry's avatar mry

fix(web): 修改了swaggerController

上级 a2461c92
......@@ -61,4 +61,5 @@ public class InterfaceInformation {
@ApiModelProperty(value = "参数")
private List<Parameter> parameterAllList;
}
package org.matrix.database.vo;
/**
* @author MRY
*/
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CommonPage<T> {
/**
* 当前页码
*/
private Integer pageNum;
/**
* 每页数量
*/
private Integer pageSize;
/**
* 总条数
*/
private Integer total;
/**
* 分页数据
*/
private Object list;
}
......@@ -8,6 +8,7 @@ import org.matrix.database.entity.Environment;
import org.matrix.database.entity.InterfaceInformation;
import org.matrix.database.entity.Parameter;
import org.matrix.database.service.IEnvironmentService;
import org.matrix.database.vo.CommonPage;
import org.matrix.exception.GlobalException;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.CrossOrigin;
......@@ -90,36 +91,12 @@ public class SwaggerController {
}
/**
* 快速添加接口
* 用来获取Swagger中的信息
*
* @param projectId 项目id
* @param id 环境id
* @param pageSize 每页多少条数据
* @param pageNum 当前第几页
* @param name 查询条件: 标签名称
* @param swaggerUrl 查询条件: 方法的url
* @return Swagger中的数据
* @param json json字符串
* @return json中过滤出的信息
*/
@PostMapping
@Transactional(rollbackFor = Exception.class)
@ApiOperation(value = "快速添加接口")
public List<InterfaceInformation> parameter(
Long projectId,
Long id,
int pageSize,
int pageNum,
String name,
String swaggerUrl) {
//将所有的默认选项置为false
environmentService.setIsDefaultByWrapper(false,
Wrappers.lambdaQuery(Environment.class).eq(Environment::getProjectId, projectId));
//将选中的环境置为true,后续默认选择这个环境
environmentService.setIsDefaultByWrapper(true,
Wrappers.lambdaQuery(Environment.class).eq(Environment::getId, id));
Environment environment = environmentService.getById(id);
String url = String.format("%s/v2/api-docs", environment.getIp());
//获得json字符串
String json = loadJson(url);
private List<InterfaceInformation> getList(String json) {
JSONObject swaggerJson = JSONObject.parseObject(json);
//localhost:8765
Object host = swaggerJson.get("host");
......@@ -181,6 +158,41 @@ public class SwaggerController {
}
}
}
return list;
}
/**
* 快速添加接口
*
* @param projectId 项目id
* @param id 环境id
* @param pageSize 每页多少条数据
* @param pageNum 当前第几页
* @param name 查询条件: 标签名称
* @param swaggerUrl 查询条件: 方法的url
* @return Swagger中的数据
*/
@PostMapping
@Transactional(rollbackFor = Exception.class)
@ApiOperation(value = "快速添加接口")
public CommonPage<List<InterfaceInformation>> parameter(
Long projectId,
Long id,
int pageSize,
int pageNum,
String name,
String swaggerUrl) {
//将所有的默认选项置为false
environmentService.setIsDefaultByWrapper(false,
Wrappers.lambdaQuery(Environment.class).eq(Environment::getProjectId, projectId));
//将选中的环境置为true,后续默认选择这个环境
environmentService.setIsDefaultByWrapper(true,
Wrappers.lambdaQuery(Environment.class).eq(Environment::getId, id));
Environment environment = environmentService.getById(id);
String url = String.format("%s/v2/api-docs", environment.getIp());
//获得json字符串
String json = loadJson(url);
List<InterfaceInformation> list = getList(json);
List<InterfaceInformation> swaggerUrlSearch;
if (swaggerUrl != null) {
swaggerUrlSearch = search(swaggerUrl, list);
......@@ -194,6 +206,13 @@ public class SwaggerController {
swaggerNameSearch = list;
}
int total = swaggerNameSearch.size();
return swaggerNameSearch.subList(pageSize * (pageNum - 1), (Math.min((pageNum * pageSize), total)));
List<InterfaceInformation> subList = swaggerNameSearch.subList(pageSize * (pageNum - 1), (Math.min((pageNum * pageSize), total)));
CommonPage<List<InterfaceInformation>> listCommonPage = new CommonPage<>();
listCommonPage.setList(subList);
listCommonPage.setTotal(total);
listCommonPage.setPageNum(pageNum);
listCommonPage.setPageSize(pageSize);
return listCommonPage;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论