使用Spring的restTemplete进行Http请求

来源:互联网 发布:python hmac sha256 编辑:程序博客网 时间:2024/06/14 02:51
/** rest templete*/public class RestTemplateTest {    //private static String url = "http://10.2.1.46:8080";    private static String url = "http://127.0.0.1:8080/test";    private static String autoDeploy = "/api/ddd/manages/yyy/1111";    public static void main(String[] args) throws UnsupportedEncodingException {        JSONObject token1 = LoginTest.login(url);        JSONObject token = new JSONObject();        token.put("token", token1.getString("token"));        token.put("userName", "chenchen.ming@56qq.com");        String name = "明辰晨";        token.put("name", URLEncoder.encode(name, "UTF-8"));        String jsonBody = DmsAutoDeployTest.dmsAutoDeployData();        autoDeploy(jsonBody,token.toJSONString());    }    /*    * 主要的post方法    */    public static void autoDeploy(String json,String token){        String autoDeployUrl = url + autoDeploy;        RestTemplate restTemplate = new RestTemplate();        HttpHeaders headers = new HttpHeaders();        //一定要设置好ContentType为utf8否则会乱码        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");        headers.setContentType(type);        headers.add("Accept", MediaType.APPLICATION_JSON.toString());        headers.add("Authentication", token);//设置自定义session header        HttpEntity<String> formEntity = new HttpEntity<String>(json, headers);        Map<String, Object> parameterMap = new HashMap<>();        //entity = Header,uriVariables = Parameters;        restTemplate.postForObject(autoDeployUrl, formEntity, String.class, parameterMap);    }    /*    * 测试    */    public static void test4(){            JSONObject response = null;            Map<String,Object> param = new HashMap<>();            param.put("ming", "chyen");            String json = "haha";            try {                response = RestUtil.post("http://127.0.0.1:8080/cloud-master/api/release/manages/detail", JSONObject.class,null,null,json);            } catch (Exception e) {                e.printStackTrace();            }            System.out.println(response);    }    /**     * 测试     */    public static void test(){        RestTemplate restTemplate = new RestTemplate();        Map<String, Object> parameterMap = new HashMap<>();        restTemplate.getForObject("url", String.class,parameterMap);        //factory.createRequest(uri, httpMethod)    }}

Util

/** * 使用Spring的restTemplate进行http请求 * @author Mingchenchen * */public class RestUtil {    private static RestTemplate restTemplate = new RestTemplate();    /**     * Get方法     *      * @param url:地址     * @param returnClassName:返回对象类型,如:String.class     * @param parameters:parameter参数     * @return     */    public static <T> T get(String url, Class<T> returnClassName, Map<String, Object> parameters){        if (parameters == null) {            return restTemplate.getForObject(url, returnClassName);        }        return restTemplate.getForObject(url, returnClassName, parameters);    }    /**     * post请求,包含了路径,返回类型,Header,Parameter     *      * @param url:地址     * @param returnClassName:返回对象类型,如:String.class     * @param inputHeader     * @param inputParameter     * @param jsonBody     * @return     */    public static <T> T post(String url,Class<T> returnClassName,Map<String,Object> inputHeader,Map<String,Object> inputParameter,String jsonBody){        //请求Header        HttpHeaders httpHeaders = new HttpHeaders();        //拼接Header        if (inputHeader != null) {            Set<String> keys = inputHeader.keySet();              for (Iterator<String> i = keys.iterator(); i.hasNext();) {                  String key = (String) i.next();                  httpHeaders.add(key, inputHeader.get(key).toString());              }          }        //设置请求的类型及编码        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");        httpHeaders.setContentType(type);        httpHeaders.add("Accept", "application/json");        List<MediaType> acceptableMediaTypes = new ArrayList<>();        acceptableMediaTypes.add(MediaType.ALL);        httpHeaders.setAccept(acceptableMediaTypes);        HttpEntity<String> formEntity = new HttpEntity<String>(jsonBody, httpHeaders);        if (inputParameter==null) {            return restTemplate.postForObject(url, formEntity, returnClassName);        }        return restTemplate.postForObject(url, formEntity, returnClassName, inputParameter);    }}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 外阴破皮了应该怎么办 脸上长脂肪粒怎么办怎么能消除 挤黑头留下的坑怎么办 长痘留下的坑怎么办 鼻子上留下黑印怎么办 狗狗眼里长息肉怎么办 狗狗眼角长息肉怎么办 脸上长了好多脂肪粒怎么办 脸上毛孔粗大有黑头怎么办 脸颊毛孔粗有黑头怎么办 鼻子上有黑头怎么办小窍门 脸上很多粉刺和油脂粒怎么办 毛孔里都是角栓怎么办 脸上长了很多脂肪粒怎么办 脸上全是油脂粒怎么办 外阴口长了疙瘩怎么办 外阴痒怎么办用什么洗 有子宫内膜增厚怎么办 脸上痘痘特别疼怎么办 眉间和下巴长痘怎么办 眼下方两边长斑怎么办 眼睛下面长斑了怎么办 24岁眼下有细纹怎么办 17岁眼下有细纹怎么办 眼下有细纹怎么办 知乎 22岁眼部有细纹怎么办 20岁眼角有细纹怎么办 20岁眼睛有细纹怎么办 29岁眼下有细纹怎么办 招不干净的东西怎么办 伤口旁边肿了怎么办啊 伤口痂掉了红肿怎么办 屁屁拉屎出血了怎么办 鞋小了一码怎么办妙招 长了毛周角化怎么办 孕妇拉不出来是怎么办 孕妇严重便秘拉不出来怎么办 10小孩肛裂出血怎么办 水痘结痂蹭掉了怎么办 水痘留下的黑印怎么办 水痘痂掉了有坑怎么办