idea自带的HttpClient使用

1. 全局变量配置

复制代码
{
  "local":{
    "baseUrl": "http://localhost:9001/"

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

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

java 复制代码
    @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;
    }
java 复制代码
### 登录 (并将结果设置到全局变量)
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)

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

3.2 get请求携带路径参数

java 复制代码
    @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

java 复制代码
    @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

java 复制代码
    @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 . 上传文件

java 复制代码
    @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

相关推荐
qq_3660862212 小时前
idea项目重新启动时报错找不到jar
pycharm·intellij-idea·jar
齐 飞1 天前
idea中git误操作撤回git reset --hard ‘HEAD@{1}‘
java·git·intellij-idea
golang学习记2 天前
IDEA 的 Java 智能,现在跑到 Cursor 和 VS Code 里去了
java·ide·vscode·intellij-idea·claude code
熊出没2 天前
CommitLoom 使用教程:在 IntelliJ IDEA 中自动生成 Git 提交信息
java·git·intellij-idea
golang学习记2 天前
IDEA 2026年的玩法已经完全不同
java·ide·intellij-idea
阿萨德528号3 天前
IDEA 项目 SVN 配置消失、版本控制变成 Git 且无 VCS 菜单的解决办法
git·svn·intellij-idea
开开心心就好4 天前
白天晚上自动调蓝光,护眼工具亮度可调
服务器·开发语言·算法·pdf·ocr·intellij-idea·idea
一只笨菜鸟5 天前
IDEA如何让多个项目同时显示
java·ide·intellij-idea
devilnumber6 天前
避坑_IDEA 提取方法(Extract Method)工具
java·ide·intellij-idea
梁云亮11 天前
在 IDEA 中运行 Tomcat 时,直接在 server.xml 中配置的 <Context> 无效
tomcat·intellij-idea·虚拟路径