2023年4月7日

计划

执行

09点10分  开始工作,

记录

已解决

  1. 数据库表中imageimage
    不需要 error是错误码表
  2. 在enu中存放的是需要枚举的东西
  3. 调试功能竟然也不要
  4. 状态码也不要了

问题想法

  1. 格式化数据改一下名字
  2. 权限那里,改成修改角色,然后角色有固定的权限,然后只有项目创建者即项目经理可以修改项目成员的具体权限
  3. 超级管理员不可以修改项目成员,不可以删改项目,这里要改
  4. image删除项目类型,访问密码,是否开放搜索这三项
  5. api/src/main/webapp/resources/html/user/interfaceList.tpl.html这个文件中的设为模板和取消模板可以学习一下,可以按钮可以变色,而且可以触发操作,用作审核人员审核
  6. 得把新增成员后默认的那些权限都删了
  7. mock功能生成的地址有问题,或者说返回的json数据有错

GPT

  1. 调试接口返回的数据通常是API请求返回的原始数据。这些数据可以包含有关API请求的详细信息,例如请求参数、请求头、响应状态码、响应头等。这些数据可以帮助你诊断API请求中的问题,并找到解决方案。

    调试接口返回的数据通常以JSON格式或XML格式返回,具体取决于API的返回格式。如果API返回的是JSON格式的数据,那么调试接口返回的数据也将是JSON格式的数据。同样,如果API返回的是XML格式的数据,那么调试接口返回的数据也将是XML格式的数据。

    除了原始数据之外,调试接口还可以返回一些有用的调试信息,例如API请求所用的时间、请求的URL地址、请求的方法(GET、POST等)、请求的参数、请求的头信息等等。这些信息可以帮助你更好地理解API请求,以及优化API请求的性能和可靠性。

  2. 调试接口返回的数据通常是API请求返回的原始数据。这些数据可以包含有关API请求的详细信息,例如请求参数、请求头、响应状态码、响应头等。这些数据可以帮助你诊断API请求中的问题,并找到解决方案。

    调试接口返回的数据通常以JSON格式或XML格式返回,具体取决于API的返回格式。如果API返回的是JSON格式的数据,那么调试接口返回的数据也将是JSON格式的数据。同样,如果API返回的是XML格式的数据,那么调试接口返回的数据也将是XML格式的数据。

    除了原始数据之外,调试接口还可以返回一些有用的调试信息,例如API请求所用的时间、请求的URL地址、请求的方法(GET、POST等)、请求的参数、请求的头信息等等。这些信息可以帮助你更好地理解API请求,以及优化API请求的性能和可靠性。

  3. public JsonResult debug(@ModelAttribute InterfaceDto interFace) throws IOException, Exception {
    Assert.notNull(interFace.getMethod(), "请求方法不能为空");
    Assert.notNull(interFace.getFullUrl(), "地址不能为空");
    Assert.isTrue(interFace.getFullUrl().startsWith("http"), "地址必须以 http开头");

     String fullUrl = interFace.getFullUrl();
    
     List<ParamDto> headerList = JSONArray.parseArray(interFace.getHeader() == null ? "[]" : interFace.getHeader(), ParamDto.class);
    
     Map<String, String> httpHeaders = new HashMap<>();
     for (ParamDto paramDto : headerList) {
         httpHeaders.put(paramDto.getName(), paramDto.getDef());
     }
     // 如果自定义参数不为空,则表示需要使用post发送自定义包体
     if (C_PARAM_RAW.equals(interFace.getParamType())) {
         return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.postBody(fullUrl, interFace.getParam(), httpHeaders)));
     }
    
     List<ParamDto> paramList = JSONArray.parseArray(interFace.getParam() == null ? "[]" : interFace.getParam(), ParamDto.class);
    
    
     Map<String, String> httpParams = new HashMap<>();
     for (ParamDto paramDto : paramList) {
         if (fullUrl.contains("{" + paramDto.getRealName() + "}")) {
             fullUrl = fullUrl.replace("{" + paramDto.getName() + "}", paramDto.getDef());
         } else {
             httpParams.put(paramDto.getName(), paramDto.getDef());
         }
     }
     try {
         switch (interFace.getMethod()) {
             case "POST":
                 return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.post(fullUrl, httpParams, httpHeaders)));
             case "GET":
                 return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.get(fullUrl, httpParams, httpHeaders)));
             case "PUT":
                 return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.put(fullUrl, httpParams, httpHeaders)));
             case "DELETE":
                 return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.delete(fullUrl, httpParams, httpHeaders)));
             case "HEAD":
                 return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.head(fullUrl, httpParams, httpHeaders)));
             case "OPTIONS":
                 return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.options(fullUrl, httpParams, httpHeaders)));
             case "TRACE":
                 return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.trace(fullUrl, httpParams, httpHeaders)));
     		case "PATCH":
     			return new JsonResult(1, Tools.getMap("debugResult", HttpPostGet.patch(fullUrl, httpParams, httpHeaders)));
             default:
                 return new JsonResult(1, Tools.getMap("debugResult", "不支持的请求方法:" + interFace.getMethod()));
         }
     } catch (Exception e) {
         e.printStackTrace();
         return new JsonResult(1, Tools.getMap("debugResult", "调试出错\r\nmessage:" + e.getMessage()));
     }
    

    }
    这段代码是一个接口调试的方法,该方法接收一个 InterfaceDto 对象作为参数,包含了接口相关的信息,例如请求方法、请求地址、请求头、请求参数等。方法首先对参数进行了校验,确保请求方法和请求地址不为空,并且请求地址以 http 开头。然后根据请求头和请求参数构造了一个 httpHeaders 和 httpParams 对象,根据请求方法调用了不同的 HttpPostGet 方法来发送请求,并返回一个 JsonResult 对象,其中包含了调试结果。如果调用出错,会返回一个包含错误信息的 JsonResult 对象。

    该方法的实现比较简单,主要是通过 HttpPostGet 工具类来发送 http 请求,并将结果封装成 JsonResult 对象返回。如果您遇到了接口调试的问题,可以检查一下相关参数是否正确传递,并且确保接口地址和参数正确。如果调用仍然失败,可以尝试使用其他工具或者手动发送 http 请求来进行排查。

  4. HTTP是一个基于请求-响应模式的协议,而GET和POST是HTTP协议中最常用的两种请求方式。

    GET请求:一般用于获取数据,通过URL(即请求地址)传递参数,数据会以查询字符串的形式附在URL后面,可以被缓存,也可以被收藏为书签,但是传输的数据量有限制。

    POST请求:一般用于提交数据,数据会通过请求体(即请求的正文)传递,数据量较大,相对安全,但是不能被缓存和收藏为书签。

    返回的数据本质上没有什么不同,都是通过HTTP响应返回的。不同的是,GET请求返回的数据会附在URL后面,而POST请求返回的数据会在响应体中。此外,GET请求返回的数据量有限制,而POST请求没有这个限制。

知识

posted @   無碍  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
点击右上角即可分享
微信分享提示