java使用RestTemplate发送Http请求(GET、POST)

    技术2022-07-10  154

    java使用RestTemplate发送Http请求(GET、POST) 

    GET请求:

    POST请求:  


    java使用RestTemplate发送Http请求(GET、POST) 

    GET请求:

     案例1:

    import org.springframework.http.*; import org.springframework.web.client.RestTemplate; RestTemplate restTemplate=new RestTemplate(); //请求地址 String url="http://xxx.xxx.xxx.xxx/xxx/xxx?apikey={apikey}"; //设置请求头 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); //设置请求参数 Map<String,String> map= new HashMap(); map.put("apikey","xxx"); restTemplate.setDefaultUriVariables(map); //发送请求 ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.GET, null, String.class); System.out.println("exchange:"+exchange); System.out.println("hasBody():"+exchange.hasBody()); System.out.println("getBody():"+exchange.getBody()); System.out.println("getStatusCode():"+exchange.getStatusCode()); System.out.println("getStatusCodeValue():"+exchange.getStatusCodeValue()); System.out.println("getHeaders():"+exchange.getHeaders());

       输出结果:

    exchange:<200,[{"name":"组成","id":"5e7e24ecd2b67db4d7e0334f","builtin":true,"code":"ComponentsOf","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"依赖","id":"5e7e24ecd2b67db4d7e03351","builtin":true,"code":"DependsOn","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"包含","id":"5e7e24ecd2b67db4d7e03350","builtin":true,"code":"HasMember","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"使用","id":"5e7e24ecd2b67db4d7e03352","builtin":true,"code":"Uses","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"提供","id":"5e7e24ecd2b67db4d7e03353","builtin":true,"code":"Provides","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"连接","id":"5e7e24ecd2b67db4d7e03354","builtin":true,"code":"ConnectsTo","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"运行在","id":"5e7e24ecd2b67db4d7e03355","builtin":true,"code":"RunsOn","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"管理","id":"5e7e24ecd2b67db4d7e03356","builtin":true,"code":"Manages","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"虚拟化","id":"5e7e24ecd2b67db4d7e03357","builtin":true,"code":"Virtualizes","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"内联","id":"5e7e24ecd2b67db4d7e03358","builtin":true,"code":"Inlines","tenantId":"e10adc3949ba59abbe56e057f20f88dd"}],[Server:"nginx", Date:"Wed, 01 Jul 2020 01:40:27 GMT", Content-Type:"application/json;charset=UTF-8", Transfer-Encoding:"chunked", Connection:"keep-alive", Vary:"Accept-Encoding", X-Frame-Options:"SAMEORIGIN", X-Content-Type-Options:"nosniff", X-XSS-Protection:"1; mode=block", X-Download-Options:"noopen", Strict-Transport-Security:"max-age=31536000; includeSubDomains"]> hasBody():true getBody():[{"name":"组成","id":"5e7e24ecd2b67db4d7e0334f","builtin":true,"code":"ComponentsOf","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"依赖","id":"5e7e24ecd2b67db4d7e03351","builtin":true,"code":"DependsOn","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"包含","id":"5e7e24ecd2b67db4d7e03350","builtin":true,"code":"HasMember","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"使用","id":"5e7e24ecd2b67db4d7e03352","builtin":true,"code":"Uses","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"提供","id":"5e7e24ecd2b67db4d7e03353","builtin":true,"code":"Provides","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"连接","id":"5e7e24ecd2b67db4d7e03354","builtin":true,"code":"ConnectsTo","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"运行在","id":"5e7e24ecd2b67db4d7e03355","builtin":true,"code":"RunsOn","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"管理","id":"5e7e24ecd2b67db4d7e03356","builtin":true,"code":"Manages","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"虚拟化","id":"5e7e24ecd2b67db4d7e03357","builtin":true,"code":"Virtualizes","tenantId":"e10adc3949ba59abbe56e057f20f88dd"},{"name":"内联","id":"5e7e24ecd2b67db4d7e03358","builtin":true,"code":"Inlines","tenantId":"e10adc3949ba59abbe56e057f20f88dd"}] getStatusCode():200 OK getStatusCodeValue():200 getHeaders():[Server:"nginx", Date:"Wed, 01 Jul 2020 01:40:27 GMT", Content-Type:"application/json;charset=UTF-8", Transfer-Encoding:"chunked", Connection:"keep-alive", Vary:"Accept-Encoding", X-Frame-Options:"SAMEORIGIN", X-Content-Type-Options:"nosniff", X-XSS-Protection:"1; mode=block", X-Download-Options:"noopen", Strict-Transport-Security:"max-age=31536000; includeSubDomains"]

    POST请求:  

     案例1:

    import org.json.JSONObject; import org.springframework.http.*; import org.springframework.web.client.RestTemplate; //请求地址 String url = "http://xxx.xxx.xxx.xxx/xxx/xxx?apikey={apikey}"; //请求头-法1 //LinkedMultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); //headers.put("Content-Type", Collections.singletonList("application/json;charset=UTF-8")); //请求头-法2 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); //请求体 JSONObject json = new JSONObject(); json.put("order_by", "createTime" ); json.put("start_time", 1589817600); json.put("end_time", 1589904000); HttpEntity<String> request = new HttpEntity<>(json.toString(), headers); RestTemplate restTemplate = new RestTemplate(); //请求参数 Map<String,String> map= new HashMap(); map.put("apikey","e10adc3949ba59abbe56e057f2gg88dd"); restTemplate.setDefaultUriVariables(map); //发送请求 ResponseEntity<String> exchange = restTemplate.postForEntity(url, request, String.class); System.out.println("exchange:"+exchange); System.out.println("hasBody():"+exchange.hasBody()); System.out.println("getBody():"+exchange.getBody()); System.out.println("getStatusCode():"+exchange.getStatusCode()); System.out.println("getStatusCodeValue():"+exchange.getStatusCodeValue()); System.out.println("getHeaders():"+exchange.getHeaders());

     输出结果:

    exchange:<200,{"counts":20,"ticket_list":[{"id":"xxxx","number":"xxxxx","title":"xxxx","status":3,"attentioned":0,"executors":["admin"],"excutors":["admin"],"creator_id":"efbecfc46eb240cd9f64d8d9d0337812","creator_name":"xxx","model_id":"4e9248c30f194c42aeec272e2f1234ac","model_name":"xxx","activity_id":"6e5275fea8e544daaf83ef4749b30c8a","activity_name":"结束","urgent_level":0,"create_time":"2020-05-19 21:43:08","update_time":"2020-05-27 14:42:21","case_id":"4847f595224c4c3c90f138412a51caef"},[Server:"nginx", Date:"Wed, 01 Jul 2020 06:55:50 GMT", Content-Type:"application/json;charset=utf-8", Transfer-Encoding:"chunked", Connection:"keep-alive", Vary:"Accept-Encoding", X-Frame-Options:"SAMEORIGIN", X-Content-Type-Options:"nosniff", X-XSS-Protection:"1; mode=block", X-Download-Options:"noopen", Strict-Transport-Security:"max-age=31536000; includeSubDomains"]> hasBody():true getBody():{"counts":20,"ticket_list":[{"id":"xxxx","number":"xxxxx","title":"xxxx","status":3,"attentioned":0,"executors":["admin"],"excutors":["admin"],"creator_id":"efbecfc46eb240cd9f64d8d9d0337812","creator_name":"xxx","model_id":"4e9248c30f194c42aeec272e2f1234ac","model_name":"xxx","activity_id":"6e5275fea8e544daaf83ef4749b30c8a","activity_name":"结束","urgent_level":0,"create_time":"2020-05-19 21:43:08","update_time":"2020-05-27 14:42:21","case_id":"4847f595224c4c3c90f138412a51caef"}} getStatusCode():200 OK getStatusCodeValue():200 getHeaders():[Server:"nginx", Date:"Wed, 01 Jul 2020 06:55:50 GMT", Content-Type:"application/json;charset=utf-8", Transfer-Encoding:"chunked", Connection:"keep-alive", Vary:"Accept-Encoding", X-Frame-Options:"SAMEORIGIN", X-Content-Type-Options:"nosniff", X-XSS-Protection:"1; mode=block", X-Download-Options:"noopen", Strict-Transport-Security:"max-age=31536000; includeSubDomains"]

     

    Processed: 0.010, SQL: 9