Spring boot resttemplateはhttpクライアントとしても使えます

2840 ワード

この間Spring bootを使っていましたが、本当に便利で、煩雑なcopyファイル構築プロジェクトの問題を解消しました.
その間に他のサーバインタフェースを要求する問題に遭遇し、最初はhttpクライアントを使って要求したが、個人的には面倒だと思った.そこでサービスプロバイダにリクエストしたrestTemplateを試してみました.意外にも成功を求めることができて、中の原理は本人はまだしばらく知らない.ははは
くだらないことを言わないでサンプルコードを貼ってください.
GETリクエストの例:ipアドレスの取得をリクエストするのはその地域のインタフェースであると仮定します.http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.4.255.255
public static void main(String[] args) {
        RestTemplate restTemplate = new RestTemplate();
        String jsonStr = restTemplate.getForEntity("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format={0}&ip={1}", String.class, "json", "218.4.255.255").getBody();
        System.out.println(jsonStr);
    }

簡単なgetリクエストが完了し、他のツールパッケージが導入されていません.
POSTリクエスト例:postリクエストは少し面倒かもしれませんが、フォームをリクエストすると、nameとageパラメータがあると仮定します.
public static void main(String[] args) throws JsonProcessingException {
        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        //      
                 headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        ObjectMapper mapper = new ObjectMapper();
        Map params= Maps.newHashMap();
        params.put("name", "  ");
        params.put("age", "18");
        String value = mapper.writeValueAsString(params);
        HttpEntity requestEntity = new HttpEntity(value, headers);
        //    HTTP  
        ResponseEntity response = restTemplate.postForEntity("post_url", requestEntity , String.class );
        System.out.println(response.getBody());
    }

その実用的なrestTemplateリクエストは非常に便利です.たくさん試してほしいですよ.