Uso de HttpClient que vem com ideia

1. Configuração de variável global

{
  "local":{
    "baseUrl": "http://localhost:9001/"

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

2. Faça login e defina os resultados para variáveis ​​globais

    @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. obter solicitação

3.1 Transportando parâmetros de solicitação (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 A solicitação get carrega parâmetros de caminho

    @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 A solicitação get carrega corpo

    @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. postar solicitação

4.1 A solicitação de postagem carrega 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. Carregar arquivos

    @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. soquete da web

outro:

Documentação de referência na ideia

Use junto com outros plug-ins

apiPost

Acho que você gosta

Origin blog.csdn.net/Draymond_feng/article/details/136066556
Recomendado
Clasificación