java使用RestTemplate發送Http請求(GET、POST)

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"]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章