当前位置: 首页 > news >正文

idea自带的HttpClient使用

1. 全局变量配置

{"local":{"baseUrl": "http://localhost:9001/"},"test": {"baseUrl": "http://localhost:9002/"}
}

2. 登录并将结果设置到全局变量

    @PostMapping("/login")public JSONObject login(HttpServletRequest request,HttpServletResponse response, @RequestBody User user) {String token = TokenUtil.createToken(10021, (long) user.getId(), "abc");Cookie cookie = new Cookie("access-token", token);response.addCookie(cookie);JSONObject jsonObject = new JSONObject();jsonObject.put("token", token);return jsonObject;}

### 登录 (并将结果设置到全局变量)
POST {{baseUrl}}//user/login
Content-Type: application/json{"id": 1
}// 将结果设置到全局变量(response.body 是前缀, token 在接口返回的最外层)
> {%client.global.set("access-token", response.body.token);
%}

3. get请求

3.1 携带请求参数(head、cookie)

    @LoginRequire@GetMapping("/getV1")public String getV1(@RequestParam("appId") Integer appId, @RequestParam("userId") Integer userId) {if (appId == null || userId == null) {throw new RuntimeException("参数错误");}return "success";}
### get请求携带请求参数
GET http://localhost:9001/http/test/getV1?appId=1&userId=2
access-token: {{access-token}}
cookie:access-token={{access-token}}

3.2  get请求携带路径参数

    @LoginRequire@GetMapping("/getV2/{appId}/{userId}")public String getV2(@PathVariable("appId") Integer appId, @PathVariable("userId") Integer userId) {if (appId == null || userId == null) {throw new RuntimeException("参数错误");}return "success";}### get请求携带路径参数
GET http://localhost:9001/http/test/getV2/1/2

3.2  get请求携带 body

    @LoginRequire@GetMapping("/getV3")public String getV3(@RequestBody BaseQuery baseQuery) {if (baseQuery == null || StringUtils.isEmpty(baseQuery.getName()) || baseQuery.getPageNo() == null || baseQuery.getPageSize() == null) {throw new RuntimeException("参数错误");}return "success";}###  get请求携带 请求体
GET http://localhost:9001/http/test/getV3
Content-Type: application/json{"pageNo": 1,"pageSize": 2,"name": "zhangsan"
}

4. post请求

4.1 post请求携带head、cookie、body

    @LoginRequire@PostMapping("/add")public String add(HttpServletRequest request, @RequestBody User user) {String appId = request.getHeader("appId");if (StringUtils.isEmpty(appId)) {throw new RuntimeException("参数错误");}Cookie[] cookies = request.getCookies();return "success";}### post请求:添加header、cookie
POST http://localhost:9001/http/test/add
// header
Content-Type: application/json
appId:1
// cookie
access-token: {{access-token}}
cookie:access-token={{access-token}}// 请求体
{"userName": "zhangsan","age": 20
}

4.2 . 上传文件

    @ApiOperation("上传excel")@PostMapping("/uploadAwardExcel")WebApiRes<Boolean> uploadAwardExcel(@RequestParam(value = "file") MultipartFile file) {if (file.isEmpty()) {return null;}String originalFilename = file.getOriginalFilename();try {EasyExcel.read(file.getInputStream(), ImportAwardItemDTO.class, new ImportAwardItemListener(importAwardItemService)).sheet().doRead();} catch (BizException e) {log.error("上传饰品excel失败", e);return  WebApiRes.failure(-1, e.getErrorMsg());}catch (Exception e) {log.error("上传饰品excel失败", e);return  WebApiRes.failure(-1, "上传饰品excel失败");}return WebApiRes.success(true);}### post请求:导入文件
POST http://localhost:8082/ornaments-list/uploadAwardExcel
Content-Type: multipart/form-data; boundary=WebAppBoundary--WebAppBoundary
Content-Disposition: form-data; name="file"; filename="excelTemplateV2.xlsx"<  ./excelTemplateV2.xlsx
--WebAppBoundary--

5. websocket

其他:

idea中的参考文档

其他插件一块使用

apiPost

http://www.lryc.cn/news/298707.html

相关文章:

  • vue3-应用规模化-路由和状态
  • 网络安全检查表
  • SSM框架,Maven的学习(下)
  • Vivado开发FPGA使用流程、教程 verilog(建立工程、编译文件到最终烧录的全流程)
  • C语言之动态内存管理
  • 【AIGC风格prompt深度指南】掌握绘画风格关键词,实现艺术模仿的革新实践
  • Qt安装配置教程windows版(包括:Qt5.8.0版本,Qt5.12,Qt5.14版本下载安装教程)(亲测可行)
  • SpringCloud-Ribbon实现负载均衡
  • Qt网络编程-TCP与UDP
  • Promise 常见题目
  • 五大架构风格之五:仓库架构风格
  • 探索设计模式的魅力:外观模式简化术-隐藏复杂性,提供简洁接口的设计秘密
  • java之Maven
  • Elasticsearch(四)
  • 蓝桥杯-X图形
  • 2. Maven 继承与聚合
  • 如何把手机平板变为电脑的屏幕
  • Amazon Dynamo学习总结
  • appium抓包总结
  • arcgis各种版本下载
  • 第五篇:MySQL常见数据类型
  • Oracle用BETWEEN AND查某年的数据可能会丢失条数
  • Nuscenes数据集点云数据如何转换到图像上
  • 【C语言期末】商品管理系统
  • 单片机学习笔记---串口通信(2)
  • 【Java】乐观锁有哪些常见实现方式?
  • Javaweb之SpringBootWeb案例之登录校验功能的详细解析
  • CSS之盒模型
  • 博客系统-SpringBoot版本
  • 详细分析Redis中数值乱码的根本原因以及解决方式