首页 > 其他分享 >2023年4月25日周二

2023年4月25日周二

时间:2023-04-25 18:12:11浏览次数:35  
标签:25 插件 请求 接口 周二 2023 服务器 方法 客户端

计划

执行

08点59分  查重
09点07分  完全重头跑一次代码
09点34分  回顾上一周的博客
10点02分  跑代码,修改界面
10点47分  完成邀请用户时同步角色名的验证
11点16分  学习请求头
15点14分  看mock功能
16点19分  看看别的书/英语

记录

问题想法

  1. if (!"项目经理".equals(user.getTrueName()) || !"接口开发人员".equals(user.getTrueName()) || !"测试人员".equals(user.getTrueName()) || !"审核人员".equals(user.getTrueName())) { throw new MyException(MyError.E000080); }这个语句有问题因为括号位置不对
    解释:这个用&&就对了,因为当输入正确时,就会有一个是1,那么就都是1,然后抛出异常

已解决

  1. 查重后是37.55%
  2. 页面绿色终于改了
  3. 修改新增用户中对于角色名合法的判断,增加限制

GPT

  1. 接口中的请求头是怎么回事
      请求头是客户端向服务器发送请求时携带的一些信息,用于告诉服务器一些关于请求的参数、格式、编码等信息。请求头的作用包括:
      告知服务器请求的数据格式:常见的请求数据格式有JSON、XML、表单等,请求头中的Content-Type字段可以告诉服务器请求的数据格式。
      告知服务器请求的编码方式:请求头中的Accept-Encoding字段可以告诉服务器客户端支持的编码方式,例如gzip、deflate等。
      告知服务器请求的语言:请求头中的Accept-Language字段可以告诉服务器客户端支持的语言类型。
      告知服务器客户端的身份认证信息:请求头中的Authorization字段可以携带客户端的身份认证信息,例如用户名和密码等。
      告知服务器客户端的浏览器类型和版本:请求头中的User-Agent字段可以告诉服务器客户端的浏览器类型和版本,方便服务器进行浏览器兼容性处理。
      告知服务器客户端的Cookie信息:请求头中的Cookie字段可以携带客户端的Cookie信息,方便服务器进行用户身份识别。

  2. 可以没有请求头吗
    在使用HTTP协议进行通信时,请求头是必须要有的一部分。因为请求头中包含了客户端与服务端之间的一些额外信息,服务端需要根据这些信息来处理请求。如果没有请求头,服务端将无法正确地处理请求,也无法返回正确的响应结果。
    当然,在某些特殊情况下,可以不需要某些请求头。例如,对于一些简单的GET请求,可以不需要Content-Type请求头,因为请求体为空。但是,大多数情况下,请求头是必须要有的

  3. 字符串比较时需要使用equals()方法,而不是""或"!="操作符。因为""或"!="操作符比较的是字符串对象的引用,而equals()方法比较的是字符串对象的值。
      字符串不相等的条件应该使用逻辑运算符"&&"或"||"连接,而不是位运算符"&"或"|"。因为逻辑运算符可以短路,而位运算符不会短路,可能会导致错误的结果。

  4. 该方法是一个请求处理方法,使用@RequestMapping注解标注了请求路径为"/debug.do"。同时使用@ResponseBody注解将返回值转化为JSON格式。
    该方法使用了@AuthPassport注解,表示该方法需要进行身份认证才能访问。接着进行了参数校验,判断请求方法和地址是否为空,以及地址是否以"http"开头。
    接着将请求头和请求参数进行解析,转化为Map格式。如果请求参数类型为自定义,则使用HttpPostGet.postBody方法发送自定义包体。否则,根据请求方法调用不同的发送请求的方法,并将结果封装到JsonResult对象中返回。
    如果发送请求出错,则打印错误信息,并将错误信息封装到JsonResult对象中返回。

  5. Map是Java中常用的一种数据结构,它是一种键值对的集合,其中每个键值对都由一个唯一的键和一个对应的值组成。在Java中,Map是一个接口,它有多种实现方式,如HashMap、TreeMap、LinkedHashMap等。
    Map格式可以用来存储一些具有键值对关系的数据,例如请求头和请求参数。在Map中,键是唯一的,并且可以通过键来快速查找对应的值。因此,在处理请求时,将请求头和请求参数转化为Map格式,可以方便地进行操作和处理。

  6. Debug时根据不同的请求方法调用不同的发送请求的方法,使用了HttpPostGet这个Java工具类
    HttpPostGet是一个Java工具类,用于发送HTTP POST和GET请求。它封装了Java自带的HttpURLConnection类和Apache HttpClient库,提供了更加简单易用的API,方便开发者发送HTTP请求并获取响应结果。使用HttpPostGet可以设置请求头、请求体、超时时间等参数,并支持HTTP和HTTPS协议。此外,它还提供了一些常见的HTTP请求方法,如POST、GET、PUT、DELETE等,可以根据实际需求选择使用。

  7. CrapDebugController
    该类实现了CrapDebug插件的接口同步功能,包括处理项目、处理模块和处理接口。用户在使用CrapDebug插件时,可以将自己的接口同步到CrapApi网站上,方便在网站上进行接口测试和管理。其中,处理项目主要是根据用户ID生成调试项目ID,如果该用户已有调试项目,则直接使用该项目,否则新建项目;处理模块主要是根据模块唯一标识判断模块是否存在,如果存在则更新模块信息,否则新建模块;处理接口主要是根据接口唯一标识判断接口是否存在,如果存在则更新接口信息,否则新建接口。

  8. Postwoman 简介 (原ApiDebug)
    Postwoman(原apiDebug) 是一个完全免费的接口调试插件,该插件可独立使用,同时数据也能同步至云端,实现跨终端共享。Postwoman支持post、get、xml、josn等测试,支持环境切换(全局变量)。 相比于Postman等插件,Postwoman无需跨过长城即可安装使用,同时有完善的接口管理系统(postwoman.cn 可内网部署),Postwoman支持接口、文档等管理等。产品开发来着BAT,拥有丰富的接口开发、调试经验,产品不断更新迭代,更适合国内用户使用。

  9. ApiDebug为独立插件,与CrapApi接口管理系统接口数据没有互通,能不依赖服务器运行,服务器仅作数据备份
    CrapApi-Plug为CrapApi接口管理软件的增强插件,不能单独使用,必须为联网状态才能使用,接口数据与管理系统接口一致
    安装插件后,接口调试页面可实现跨域调试,否则只能通过服务器端请求接口(无法调试本地接口、无法使用host配置,即:所有接口必须外网能访问才能调试)、安装接口后,只要本地浏览器登录,将自动携带网站cookie

  10. /mock中的getExam
    该方法用于获取接口的模拟数据。接收参数包括HttpServletResponse对象、HttpServletRequest对象、接口ID、IP地址和一个布尔值,用于指示是否获取真实的数据。方法首先设置响应头,然后判断缓存中是否已经存在接口的模拟数据,如果存在则直接返回缓存中的数据。如果缓存中不存在数据,则从数据库中获取接口的信息,并根据布尔值获取真实数据或者模拟数据。最后将数据存入缓存并返回给调用者。

  11. SpringCache缓存工具
    public Cache<String, String> getCache(){
    if (cache == null) {
    cache = CacheBuilder.newBuilder()
    .initialCapacity(10)
    .concurrencyLevel(5)
    .expireAfterWrite(10 * 60, TimeUnit.SECONDS)
    .build();
    }
    return cache;
    }

  12. getRemoteHost()是HttpServletRequest接口中的一个方法,用于获取发出请求的客户端的IP地址或域名。当客户端发送请求时,该方法会返回客户端的IP地址或域名,用于标识客户端的身份。如果客户端使用了代理服务器,则该方法返回的是代理服务器的IP地址或域名。如果无法确定客户端的IP地址或域名,则该方法返回null。

知识

标签:25,插件,请求,接口,周二,2023,服务器,方法,客户端
From: https://www.cnblogs.com/barry-first/p/17351573.html

相关文章

  • 4月25日打卡
     #include<bits/stdc++.h>usingnamespacestd;intmain(){intx1,x2,x3,x5,x8,y1,y2,y3,y5,y8;doublemax=0.0,result;for(x8=0;x8<=2;x8++){for(x5=0;x5<=(20-8*x8)/5;x5++){......
  • 建民每日打卡4.25
    一、问题描述本题要求你计算A−B。不过麻烦的是,A和B都是字符串——即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。二、流程设计输入为包含空格的字符串,所以用getls()读入。每个字符串都是由可见的ASCII码和空白字符组成,所以只需要将B中出现的......
  • 【SD集训】20230425 T2 差(difference) 题解 CF1500F 【Cupboards Jumps】
    大家可以猜猜看为什么有两个标题,因为这个原因本文就不设密码了,被He_ren的原题创到了。吐槽一下,He_ren甚至出原题还用脚造数据,虽然数据确实比较难造。不过那两个\(O(n^2)\)老哥好像都没最后将所有数调整成非负,遗憾20。有人场切*3500却没过签到题,我不说是谁。题目描述......
  • 分治算法:剑指 Offer 25. 合并两个排序的链表
    题目描述:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 限制:0<=链表长度<=1000 解题思路:    classSolution{publicListNodemergeTwoLists(ListNodel1,ListNodel2){ListNodedum=newListNode......
  • 20230424小记
    闲话今天还是体育的一天明天就要送别可爱同桌了呜呜呜呜呜呜呜呜呜呜呜呜她去济南了呜呜呜呜呜呜呜呜呜呜呜呜冰糖老婆的精神状态好像不太正常哭唧唧调代码需要的信息提取能力也太高了()听中V调代码效率↓/cf题调了昨天的题,复习了平衡树,然后调了一年。第二天的升旗仪式......
  • 老杜2023最新Vue实战精讲(二)Vue核心技术
    动力节点老杜全新版Vue教程笔记分享给大家学习の地止:https://www.bilibili.com/video/BV17h41137i4视频教程从Vue2开始讲解,一步一个案例,知识点由浅入深,然后很自然的过度到Vue3版本。Vue3是目前企业中使用最多的一个版本。视频中会把每一个Vue的知识点讲解的非常通透,不但举例......
  • 做题整理 4.25
    字符串P3538[POI2012]OKR-AHorriblePoem给定字符串,多次询问其子串的最小循环节长度。由于循环节长度\(len\)一定是子串长度的约数,我们可以不断试除\(len\)的最小质因子,并判断是否合法,更新\(ans\)的最小值。线性筛预处理所有数(\(\le5\times10^5\))的最小质因子;判断是......
  • VMware kali2023 桥接模式 联网 局域网主机发现
    1.配置VMware网络 2.配置虚拟机网络设置(虚拟机硬件层面) 3.配置虚拟机网络2(虚拟机软件层面)3.1查看物理机上桥接的网卡的信息和虚拟机奇加网网卡的信息       记下了,方便下一步配置实验我要配置的网卡名是  eth2网关和DNS一样:192.168.43.1子网掩码......
  • 2023最新Adobe illustrator (Ai)插件脚本合集
    今天给大家分享的是最新款脚本合辑—-2023Illustrator最新插件,用过的都说好,百款功能任你用,支持win和mac,支持最新版本的Illustrator,一键安装永久使用。安装方式简单容易操作,切附带教学视频,以及插件实用教学,内置GIF,视频教学方法。熟悉Illustrator有一定时间了,经常要设计一些图片或......
  • 2023年SHEIN的JAVA后端实习笔试题
    2023年SHEIN笔试题目:10道单选,5道多选,一道算法,一道SQL(单选)1、下列关于线性链表的叙述中,正确的是:进行插入和删除时,不需要移动链表中的元素。2、关于以下程序代码的说明正确的是:classHasStatic{privatestaticintx=100;publicstaticvoidmain(Stringargs[]){......