get请求的两种传参方式
参数拼接到url中
public void doGetTest() {
String orgCode = "900000";
String versionNo = "1573062384036";
String body = null;
try {
ResponseEntity<String> forEntity = restTemplate.getForEntity("http://xxx.xxxxxx.xxx/xxx/xxxxxxxx?orgCode=" + orgCode + "&versionNo=" + versionNo, String.class);
body = forEntity.getBody();
System.out.println(body);
} catch (Exception e) {
ErrorLogger.log("调用接口异常,{}", e);
}
}
map传参
public String findMessage(String waybilNo){
Map<String, String> params = new HashMap<>();
params.put("waybillNo", waybilNo);
String body = null;
try {
body = restTemplate.getForEntity(traceInHbaseUrl + "?waybillNo={waybillNo}", String.class, params).getBody();
System.out.println(body);
} catch (Exception e){
ErrorLogger.log("调用接口异常,{}",e);
}
return body;
}
getForEntity和getForObject区别(post同理)
上面使用的是getForEntity,接下来看一下getForEntity
public void doGetTest() {
String orgCode = "900000";
String versionNo = "1573062384036";
String responBody = null;
try {
responBody = restTemplate.getForObject("http://192.168.124.82:17084/api/intercept/findInterceptWaybill?orgCode=" + orgCode + "&versionNo=" + versionNo, String.class);
System.out.println(responBody);
} catch (Exception e) {
ErrorLogger.log("调用接口异常,{}", e);
}
}
- getForEntity返回的数据更加详细(status、header、body)
- getForObject指定一个返回类型,直接返回指定格式的body内容
以下是getForEntity返回结构的截图