Browse Source

支持检查API接口参数的正确性、完整性和有效性

master
zhouyl 1 year ago
parent
commit
f789fc9baf
  1. 40
      tp-functional/src/main/java/com/inscloudtech/functional/controller/FuncCarApiController.java
  2. 18
      tp-functional/src/main/java/com/inscloudtech/functional/domain/vo/FuncCarApiDto.java
  3. 3
      tp-functional/src/main/java/com/inscloudtech/functional/service/IFuncCarApiService.java
  4. 3
      tp-functional/src/main/java/com/inscloudtech/functional/service/impl/FuncCarApiServiceImpl.java

40
tp-functional/src/main/java/com/inscloudtech/functional/controller/FuncCarApiController.java

@ -1,34 +1,28 @@
package com.inscloudtech.functional.controller;
import java.util.List;
import java.util.Arrays;
import com.inscloudtech.common.config.ProjectConfig;
import com.inscloudtech.common.utils.StringUtils;
import com.inscloudtech.common.utils.file.FileUtils;
import com.inscloudtech.functional.domain.FuncCarApi;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.inscloudtech.common.annotation.RepeatSubmit;
import com.inscloudtech.common.annotation.Log;
import com.inscloudtech.common.annotation.RepeatSubmit;
import com.inscloudtech.common.config.ProjectConfig;
import com.inscloudtech.common.core.controller.BaseController;
import com.inscloudtech.common.core.domain.PageQuery;
import com.inscloudtech.common.core.domain.R;
import com.inscloudtech.common.core.page.TableDataInfo;
import com.inscloudtech.common.core.validate.AddGroup;
import com.inscloudtech.common.core.validate.EditGroup;
import com.inscloudtech.common.enums.BusinessType;
import com.inscloudtech.common.utils.poi.ExcelUtil;
import com.inscloudtech.common.utils.StringUtils;
import com.inscloudtech.common.utils.file.FileUtils;
import com.inscloudtech.functional.domain.FuncCarApi;
import com.inscloudtech.functional.domain.vo.FuncCarApiDto;
import com.inscloudtech.functional.domain.vo.FuncCarApiVo;
import com.inscloudtech.functional.service.IFuncCarApiService;
import com.inscloudtech.common.core.page.TableDataInfo;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 兼容可靠性测试系统-API接口兼容性测试工具
@ -59,7 +53,6 @@ public class FuncCarApiController extends BaseController {
* 测试API接口在不同操作系统不同浏览器不同设备以及不同网络环境下的兼容性
*/
@SaCheckPermission("functional:CarApi:add")
@Log(title = "兼容可靠性测试系统-API接口兼容性测试工具", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody FuncCarApi bo) {
@ -94,15 +87,14 @@ public class FuncCarApiController extends BaseController {
* 检查API接口参数的正确性完整性和有效性
*/
@SaCheckPermission("functional:CarApi:add")
@Log(title = "兼容可靠性测试系统-API接口兼容性测试工具", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/checkApi")
public R checkApi(@Validated(AddGroup.class) @RequestBody FuncCarApi bo) {
public R checkApi(@Validated(AddGroup.class) @RequestBody FuncCarApiDto bo) {
return R.ok(iFuncCarApiService.checkApi(bo));
}
/**
* API接口协议如RESTSOAPXML-RPC等测试工具可提供对应的协议测试工具
* API接口协议如RESTSOAPXML-RPC等测试工具可提供对应的协议测试工具下载
*/
@GetMapping("/protocolToolDownload")
public void protocolToolDownload(HttpServletResponse response, HttpServletRequest request) {

18
tp-functional/src/main/java/com/inscloudtech/functional/domain/vo/FuncCarApiDto.java

@ -0,0 +1,18 @@
package com.inscloudtech.functional.domain.vo;
import lombok.Data;
/**
* 兼容可靠性测试系统-API接口兼容性测试工具对象 func_car_api
*
* @author inscloudtech
* @date 2024-06-11
*/
@Data
public class FuncCarApiDto {
private String apiUrl;
private String requestMethod;
}

3
tp-functional/src/main/java/com/inscloudtech/functional/service/IFuncCarApiService.java

@ -1,6 +1,7 @@
package com.inscloudtech.functional.service;
import com.inscloudtech.functional.domain.FuncCarApi;
import com.inscloudtech.functional.domain.vo.FuncCarApiDto;
import com.inscloudtech.functional.domain.vo.FuncCarApiVo;
import com.inscloudtech.common.core.page.TableDataInfo;
import com.inscloudtech.common.core.domain.PageQuery;
@ -46,5 +47,5 @@ public interface IFuncCarApiService {
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
String checkApi(FuncCarApi bo);
String checkApi(FuncCarApiDto bo);
}

3
tp-functional/src/main/java/com/inscloudtech/functional/service/impl/FuncCarApiServiceImpl.java

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.inscloudtech.common.utils.StringUtils;
import com.inscloudtech.functional.domain.vo.FuncCarApiDto;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.inscloudtech.functional.domain.vo.FuncCarApiVo;
@ -150,7 +151,7 @@ public class FuncCarApiServiceImpl implements IFuncCarApiService {
}
@Override
public String checkApi(FuncCarApi bo) {
public String checkApi(FuncCarApiDto bo) {
HttpRequest request;
if(StringUtils.isEmpty(bo.getRequestMethod())){
request = HttpUtil.createRequest(Method.GET, bo.getApiUrl());

Loading…
Cancel
Save