private RestTemplate restTemplate = new RestTemplate();
public boolean validAccess(String feature, String userName) {
String url = upmUrl;
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
logger.info("invoke upm service valid access,url:{},response:{}", url, response);
System.out.println(response.getStatusCode());
System.out.println(response.getStatusCodeValue());
System.out.println(response.getHeaders());
System.out.println(response.getBody());
}
输出的信息如下:
<200 OK,{},{Content-Type=[application/json], Content-Length=[3], Server=[Werkzeug/0.14.1 Python/3.6.4], Date=[Wed, 07 Feb 2018 02:32:16 GMT]}>
200
200
{Content-Type=[application/json], Content-Length=[3], Server=[Werkzeug/0.14.1 Python/3.6.4], Date=[Wed, 07 Feb 2018 02:32:16 GMT]}
{}
2018。02。23 更新如下:
使用 Python 的 Flask 在本地启动了一个 web app,用来模拟服务端
使用 Spring 的 RestTemplate 进行 get 请求操作
String url = upmUrl;
ResponseEntity<JSONObject> response = restTemplate.getForEntity(url, JSONObject.class);
System.out.println("statusCode:" + response.getStatusCode());
System.out.println("statusCodeValue:" + response.getStatusCodeValue());
System.out.println("Headers:" + response.getHeaders());
System.out.println("Body:" + response.getBody());
System.out.println("Body type :" + response.getBody().getClass());
if (response.getStatusCodeValue() == 200){
JSONObject jsonObject = response.getBody();
if (jsonObject != null){
return (boolean)jsonObject.get("data");
}
}
输出如下:
test_key
10
http://127.0.0.1:5000
2018-02-23 16:18:30,636 [main] INFO UpmService.java(validAccess:com.didi.sec.avira.mis.web.service.UpmService.validAccess(UpmService.java:48)) - invoke upm service valid access,url:http://127.0.0.1:5000/user/check/feature?appId=10&appKey=test_key&time=1519373910339&sign=f3f172c496ac1588ec65623b195d3882&userName=123&feature=123,response:<200 OK,{code=0, data=true, msg=string},{Content-Type=[application/json], Content-Length=[53], Server=[Werkzeug/0.14.1 Python/3.6.4], Date=[Fri, 23 Feb 2018 08:18:30 GMT]}>
statusCode:200
statusCodeValue:200
Headers:{Content-Type=[application/json], Content-Length=[53], Server=[Werkzeug/0.14.1 Python/3.6.4], Date=[Fri, 23 Feb 2018 08:18:30 GMT]}
Body:{code=0, data=true, msg=string}
Body type :class java.util.LinkedHashMap
false