专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

RestTemplate发送Http请求

package com.haodf.search.manager.utils;

import lombok.extern.slf4j.Slf4j;
import org.springframework.http.*;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

@Slf4j
public class HttpClientUtil {

    public static ResponseEntity<String> restTemplatePost(String url, String params) {

        HttpHeaders headers = new HttpHeaders();
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        //请勿轻易改变此提交方式,大部分的情况下,提交方式都是表单提交
        headers.setContentType(type);
        headers.add("Accept", MediaType.APPLICATION_JSON.toString());

        HttpEntity<String> requestEntity = new HttpEntity<String>(params, headers);
        RestTemplate restTemplate = new RestTemplate();
        //执行HTTP请求
        return restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
    }

    public static String restTemplatGet(String url) {

        RestTemplate restTemplate = new RestTemplate();
        //执行HTTP请求
        return restTemplate.getForObject(url, String.class);
    }

    public static void restTemplatDelete(String url) {

        RestTemplate restTemplate = new RestTemplate();
        //执行HTTP请求
        restTemplate.delete(url);
    }

    /**
     * java原生的http请求
     * resttemplate不支持:http://localhost:8080//index/handleOneData?typeName=doctor&type=1&id=6964492271
     * @param urlToRead
     * @return
     * @throws Exception
     */
    public static String getHttpURLConnection(String urlToRead) throws Exception {

        StringBuilder result = new StringBuilder();
        URL url = new URL(urlToRead);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String line;
        while ((line = rd.readLine()) != null) {
            result.append(line);
        }
        rd.close();
        return result.toString();
    }

    /**
     * post消息体是json的请求
     * @param url
     * @param request
     * @return
     */
    public static String postJson(String url, String request){
        RestTemplate restTemplate = new RestTemplate();
        // Add the Jackson message converter
        restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());

        // set headers
        HttpHeaders headers = new HttpHeaders();
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        //请勿轻易改变此提交方式,大部分的情况下,提交方式都是表单提交
        headers.setContentType(type);
        HttpEntity<String> entity = new HttpEntity<>(request, headers);

        // send request and parse result
        ResponseEntity<String> response = restTemplate
                .exchange(url, HttpMethod.POST, entity, String.class);

        return response.getBody();
    }
}

文章永久链接:https://tech.souyunku.com/19721

未经允许不得转载:搜云库技术团队 » RestTemplate发送Http请求

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们