史上最实用的RestTemplate结合Postman让请求飞一会
- GET请求
- GET请求+请求头【Header】
- POST请求
- POST请求+请求头【Header】-这个稍微复杂点【有注意事项】
- 最后,让你的请求飞一会吧,RestTemplate的使用还有很多,这里仅仅帮大家把经常会在开发中用到的整理了,其他的方法使用对照着相应接口的api填充相应参数即可。整理不易,一键三连哈,感谢支持!
GET请求
类似:http://127.0.0.1:8888/api3/activity/getMessage?id=123&name=tom
接口信息是这样的
Postman请求是这样的
用RestTemplate请求是这样的【restTemplate.getForObject方法】
方法一
//方法一
String id = "123";
String name = "tom";
//直接手动拼接url
String url = "http://127.0.0.1:8888/api3/activity/getMessage?id="+id+"&name="+name;
JSONObject jsonObject = restTemplate.getForObject(url, JSONObject.class, new Object());
System.out.println(jsonObject);
方法二【推荐这样使用】
//方法二
Map params = new HashMap();
params.put("id","123");
params.put("name","tom");
//对象自动映射
String url = "http://127.0.0.1:8888/api3/activity/getMessage?id={id}&name={name}";
JSONObject jsonObject = restTemplate.getForObject(url, JSONObject.class, params);
System.out.println(jsonObject);
类似:http://127.0.0.1:8888/api3/activity/getMessage/123/tom
接口信息是这样的
Postman请求是这样的
用RestTemplate请求是这样的【restTemplate.getForObject方法】
Map params = new HashMap();
params.put("id","123");
params.put("name","tom");
//对象自动映射
String url = "http://127.0.0.1:8888/api3/activity/getMessage/{id}/{name}";
JSONObject jsonObject = restTemplate.getForObject(url, JSONObject.class, params);
System.out.println(jsonObject);
类似:http://127.0.0.1:8888/api3/activity/getMessage/{id}?age=100
接口是这样的
Postman请求是这样的
用RestTemplate请求是这样的【restTemplate.getForObject方法】
Map params = new HashMap();
params.put("id","123");
params.put("name","tom");
//对象自动映射
String url = "http://127.0.0.1:8888/api3/activity/getMessage/{id}?name={name}";
JSONObject jsonObject = restTemplate.getForObject(url, JSONObject.class, params);
System.out.println(jsonObject);
GET请求+请求头【Header】
接口是这样的
Postman请求是这样的
用RestTemplate请求是这样的【restTemplate.exchange方法】
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("Authorization", "Basic xxxxxxxxxxxxxxxxxx");//token
HttpEntity httpEntity = new HttpEntity(null, httpHeaders);
Map params = new HashMap();
params.put("id","123");
params.put("name","tom");
//对象自动映射
String url = "http://127.0.0.1:8888/api3/activity/getMessage/{id}?name={name}";
JSONObject jsonObject = (JSONObject) restTemplate.exchange(url, HttpMethod.GET, httpEntity,JSONObject.class, params).getBody();
System.out.println(jsonObject);
POST请求
类似:http://127.0.0.1:8888/api3/activity/getMessage + 【body-application/json】
接口是这样的
Postman请求是这样的
用RestTemplate请求是这样的【restTemplate.postForObject方法】
Map body = new HashMap();
body.put("id","123");
body.put("name","tom");
String url = "http://127.0.0.1:8888/api3/activity/getMessage";
JSONObject jsonObject = restTemplate.postForObject(url, body,JSONObject.class);
System.out.println(jsonObject);
类似:http://127.0.0.1:8888/api3/activity/getMessage/{account} + 【body-application/json】
接口是这样的
Postman请求是这样的
用RestTemplate请求是这样的【restTemplate.postForObject方法】
Map body = new HashMap();
body.put("id","123");
body.put("name","tom");
body.put("account","88888888");
String url = "http://127.0.0.1:8888/api3/activity/getMessage/{account}";
//这里的映射参数body共享一个map中的参数,分开两个map存储也行
JSONObject jsonObject = restTemplate.postForObject(url, body,JSONObject.class,body);
System.out.println(jsonObject);
POST请求+请求头【Header】-这个稍微复杂点【有注意事项】
接口是这样的
Postman请求是这样的
用RestTemplate请求是这样的【restTemplate.exchange方法】
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("Authorization", "Basic xxxxxxxxxxxxxxxxxx");//token
Map body = new HashMap();
body.put("id","123");
body.put("name","tom");
//注意:这个body放在httpEntity这里面
HttpEntity httpEntity = new HttpEntity(body, httpHeaders);
Map params = new HashMap();
params.put("account","88888888");
String url = "http://127.0.0.1:8888/api3/activity/getMessage/{account}";
JSONObject jsonObject = (JSONObject) restTemplate.exchange(url, HttpMethod.POST, httpEntity,JSONObject.class,params).getBody();
System.out.println(jsonObject);