配置RestTemplate类:

package com.deepbluebi.aip.smartoffice.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
import org.springframework.http.converter.StringHttpMessageConverter;
import java.nio.charset.Charset;
/**
 * 描述:
 *
 * @author xxx
 * @create 2019-07-25-15:55
 */
@Configuration
public class RestTemplateConfig {

    @Bean
    public RestTemplate restTemplate(ClientHttpRequestFactory factory){
        RestTemplate restTemplate= new RestTemplate(factory);
        // 支持中文编码
        restTemplate.getMessageConverters().set(1,
                new StringHttpMessageConverter(Charset.forName("UTF-8")));
        return restTemplate;

    }

    @Bean
    public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        factory.setReadTimeout(5000);//单位为ms
        factory.setConnectTimeout(5000);//单位为ms
        return factory;
    }
}
    public ResultData<String> getDhgLoginUrl(@RequestParam String loginName) {
        String resultSring = "";
        try {
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_JSON);

            ObjectMapper objectMapper = new ObjectMapper();
            ObjectNode jsonObject = objectMapper.createObjectNode();
            jsonObject.put("clientId", clientId);
            jsonObject.put("paramType", "1");
            jsonObject.put("loginName", loginName);
            jsonObject.put("redirectUrl", dhgUrl);

            HttpEntity<String> request = new HttpEntity<String>(jsonObject.toString(), headers);
            String resultJsonString = restTemplate.postForObject(dhgUrl + "/sso/V2/getToken", request, String.class);
            JsonNode root = objectMapper.readTree(resultJsonString);
            resultSring = dhgUrl + "/sso/token?clientId=" + clientId + "&redirectUri=" + redirectUri + "&code=" + root.get("data").get("token").textValue();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ResultData.data(resultSring);
    }

使用form-data发送Post请求

String url = "http://crm.szbxl.com:18280/qrlogin.action";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);

MultiValueMap map = new LinkedMultiValueMap();
map.add("m", "qr");

HttpEntity requestBody = new HttpEntity(map, headers);
String resultJsonString = restTemplate.postForObject(url, requestBody, String.class);
JSONObject results = JSONObject.parseObject(resultJsonString);
# 值为json
JSONObject data = (JSONObject) results.get("data");

 

相关文章:

  • 2021-08-14
  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2021-06-28
  • 2021-10-17
  • 2022-12-23
猜你喜欢
  • 2021-05-31
  • 2022-12-23
  • 2022-01-30
  • 2021-12-18
  • 2021-10-02
  • 2022-12-23
相关资源
相似解决方案