restTemplate.exchange 接口請求


一、post請求且接口參數為{"key":"value"}形式【無params參數】

        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "application/json;charset=UTF-8");
        String url_login = url+"api/user/login";
        Map param=new HashMap();
        param.put("email",usrName);
        param.put("password",passWord);
        HttpEntity<String> formEntity = new HttpEntity<String>(JSON.toJSONString(param), headers);
        ResponseEntity<String> exchange = restTemplate.exchange(url_login,
                HttpMethod.POST, formEntity, String.class);
        JSONObject body=JSONObject.parseObject(exchange.getBody());
        Assert.assertTrue(body.getString("errcode").equals("0"), "賬號密碼有誤,登陸失敗");
        //獲取cookie   
   String getHeaders= String.valueOf(exchange.getHeaders().get("Set-Cookie"));
   String[] strArray = getHeaders.split(";");
   _yapi_token=strArray[0].substring(1);
   _yapi_uid=strArray[3].substring(10);
   System.out.println(_yapi_token+";"+_yapi_uid);

二、post請求且參數拼接在url

        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type","application/x-www-form-urlencoded");
        //拼接URL和參數
        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url)
                .queryParam("loginMobile", "17333164450")
                .queryParam("password","ls111111.");
        //封裝頭 //發送請求
        HttpEntity<JSONObject> request = new HttpEntity<>(null, headers);
        ResponseEntity<String> response=restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.POST,request,String.class);
        JSONObject res=JSON.parseObject(response.getBody());//       獲取返回的請求body

  

三、get請求且無參數【get請求一般需要先登錄獲取Cookie再請求】

        HttpHeaders headers = new HttpHeaders();
        headers.add("Cookie", Cookie);
        headers.add("Accept", "application/json, text/plain, */*");

        HttpEntity<String> formEntity = new HttpEntity<>(null, headers);
        ResponseEntity<String> exchange = restTemplate.exchange(Url,HttpMethod.GET, formEntity, String.class);
        JSONObject body=JSONObject.parseObject(exchange.getBody());
        Assert.assertTrue(body.getString("errcode").equals("0"), "訪問Yapi失敗");

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM