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,用来模拟服务端

使用 RestTemplate 访问 Restful API 的方法_Python


使用 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