java跨系统调用esb接口,json形式,rest接口分析

访客 阅读:339 2020-07-05 13:01:51 评论:0
package com.ekingwin.bas.cloud.mobileErp.utils;

import java.util.HashMap;
import java.util.Map;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * 向esb发送post请求工具类
 * @author yang
 *
 */
public class HttpRestUtil {

    public static JSONObject  sendPost(Map<String, Object> map1,Map<String, Object> map2,String url) {
        //设置头信息
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.set("Content-Type", "application/json;charset=UTF-8");
        headers.set("Accept", "application/json");
        //封装请求参数
        Map<String, Object> map=new HashMap<String, Object>();
        map.put("commonHeader", map1);
        map.put("LIST", map2);
        String mapJsonStr = JSON.toJSONString(map,true);
        JSONObject mapJson =  JSONObject.parseObject((String) JSON.toJSON(mapJsonStr));
        System.out.println("请求报文--------->>>>>>"+mapJson.toString());
        //发送请求
        HttpEntity<Map<String, Object>> he = new HttpEntity<Map<String, Object>>(map, headers);
        RestTemplate restTemplate = new RestTemplate();
        JSONObject responseJson=new JSONObject();
        try {
            ResponseEntity<JSONObject> result = restTemplate.exchange(url,
                    HttpMethod.POST, he, JSONObject.class);
            JSONObject body = result.getBody();
            Object object = body.get("LIST");
            JSONObject jsonObject=(JSONObject)JSON.toJSON(object);
            responseJson= (JSONObject)JSON.toJSON(jsonObject.get("o"));
            /*if(url.contains("Pipeline/querySaleTotalBySaler_PS")) {
                responseJson= (JSONObject)JSON.toJSON(jsonObject.get("o"));
            }else {
                responseJson= (JSONObject)JSON.toJSON(jsonObject.get("DATA"));
            }*/
            System.out.println("响应报文***********************" + body.toString());
            String code =responseJson.getString("code");
            if ("1".equals(code)) {
                System.out.println("接口调用成功" + responseJson.toString());
            } else {
                System.out.println("数据操作异常" + result.toString());
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("接口调用失败"+e);
        }
        return responseJson;
    }
    
    /**
     * CONSUMER这个参数还没有赋值
     * @param BIZTRANSACTIONID 接口系统唯一标识
     * @return
     */
    public static Map<String, Object> setCommonHeaderMap(String BIZTRANSACTIONID) {
        Map<String, Object> map =new HashMap<String, Object>();
        map.put("BIZTRANSACTIONID", BIZTRANSACTIONID);
        map.put("COUNT", "1");
        map.put("SRVLEVEL", "");
        map.put("ACCOUNT", "");
        map.put("PASSWORD", "");
        map.put("CONSUMER", "");
        return map;
    }
}

标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容