首页 > Web开发 > 详细

写的一个HttpClient类

时间:2019-06-25 17:38:23      阅读:112      评论:0      收藏:0      [点我收藏+]
package com.ca.test.cainterface.common.util.http;

import com.ca.test.cainterface.common.util.data.Data;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
//import org.codehaus.jackson.map.ObjectMapper;
//import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

@Component
@Getter
@Setter
public class HttpClient {

    @Autowired
    RestTemplate restTemplate;
    private String sid = null;
    private String token;

    public HttpClient() {
        Data data = new Data();
        this.token = data.getRandomToken();
    }


    public boolean isCode200(ResponseEntity<String> responseEntity) {
        Integer code = responseEntity.getStatusCode().value();
        if (200 != code) {
            return true;
        }
        return false;
    }

    public String getUrl(String host, String path, String... urlParam) {
        return host + String.format(path, urlParam);
    }

    private HttpHeaders initHeader() {
        HttpHeaders headers = new HttpHeaders();
        if (sid != null) {
            headers.add("Cookie", "s_id=" + sid);
        }
        headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
        return headers;
    }

    public ResponseEntity<String> postWithJson(String url, String parameterStr) {
        if (!StringUtils.isNotBlank(url)) {
            throw new IllegalArgumentException("url can not be null.");
        }
//        ObjectMapper objectMapper = new ObjectMapper();
//        objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_EMPTY);
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
        HttpEntity<String> entity = new HttpEntity<>(parameterStr, initHeader());
        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
        requestFactory.setConnectTimeout(180000);
        requestFactory.setReadTimeout(180000);
        RestTemplate restTemplate = new RestTemplate(requestFactory);
        return restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
    }

    public ResponseEntity<String> get(String url) {
        if (!StringUtils.isNotBlank(url)) {
            throw new IllegalArgumentException("url can not be null.");
        }
        HttpEntity<String> httpEntity = new HttpEntity<>(initHeader());
        return restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class);
    }
}

写的一个HttpClient类

原文:https://www.cnblogs.com/liehen2046/p/11083930.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!