连贯工具类

/** * <pre> * 性能:httpUrlConnection拜访近程接口工具 * 日期:2015年3月17日 上午11:19:21 * </pre> */public class HttpUrlConnectionUtil {    /**     * <pre>     * 办法体阐明:向近程接口发动申请,返回字符串类型后果     * @param url 接口地址     * @param requestMethod 申请形式     * @param params 传递参数     重点:参数值须要用Base64进行转码     * @return String 返回后果     * </pre>     */    public static String httpRequestToString(String url, String requestMethod,                                             Map<String, String> params){        String result = null;        try {            InputStream is = httpRequestToStream(url, requestMethod, params);            byte[] b = new byte[is.available()];            is.read(b);            result = new String(b);        } catch (IOException e) {            e.printStackTrace();        }        return result;    }    /**     * <pre>     * 办法体阐明:向近程接口发动申请,返回字节流类型后果     * 作者:itar     * 日期:2015年3月17日 上午11:20:25     * @param url 接口地址     * @param requestMethod 申请形式     * @param params 传递参数     重点:参数值须要用Base64进行转码     * @return InputStream 返回后果     * </pre>     */    public static InputStream httpRequestToStream(String url, String requestMethod,                                                  Map<String, String> params){        InputStream is = null;        try {            String parameters = "";            boolean hasParams = false;            //将参数汇合拼接成特定格局,如name=zhangsan&age=24            for(String key : params.keySet()){                String value = URLEncoder.encode(params.get(key), "UTF-8");                parameters += key +"="+ value +"&";                hasParams = true;            }            if(hasParams){                parameters = parameters.substring(0, parameters.length()-1);            }            //申请形式是否为get            boolean isGet = "get".equalsIgnoreCase(requestMethod);            //申请形式是否为post            boolean isPost = "post".equalsIgnoreCase(requestMethod);            if(isGet){                url += "?"+ parameters;            }            URL u = new URL(url);            HttpURLConnection conn = (HttpURLConnection) u.openConnection();            //申请的参数类型(应用restlet框架时,为了兼容框架,必须设置Content-Type为“”空)            conn.setRequestProperty("Content-Type", "application/octet-stream");            //conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");            //设置连贯超时工夫            conn.setConnectTimeout(50000);            //设置读取返回内容超时工夫            conn.setReadTimeout(50000);            //设置向HttpURLConnection对象中输入,因为post形式将申请参数放在http注释内,因而须要设置为ture,默认false            if(isPost){                conn.setDoOutput(true);            }            //设置从HttpURLConnection对象读入,默认为true            conn.setDoInput(true);            //设置是否应用缓存,post形式不能应用缓存            if(isPost){                conn.setUseCaches(false);            }            //设置申请形式,默认为GET            conn.setRequestMethod(requestMethod);            //post形式须要将传递的参数输入到conn对象中            if(isPost){                DataOutputStream dos = new DataOutputStream(conn.getOutputStream());                dos.writeBytes(parameters);                dos.flush();                dos.close();            }            //从HttpURLConnection对象中读取响应的音讯            //执行该语句时才正式发动申请            is = conn.getInputStream();        } catch (UnsupportedEncodingException e) {            e.printStackTrace();        } catch (MalformedURLException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }        return is;    }}

service

public interface TestService {    void selectTest();    void selectPost();}

serviceImpl实现

@Servicepublic class TestServiceImpl implements TestService {    @Override    public void selectTest() {        //url对方接口        String url="http://127.0.0.1:1313/test/get";        System.out.println(url);        System.out.println("----------------------");        //map寄存限度内容        HashMap<String, String> map = new HashMap<>();        String get = HttpUrlConnectionUtil.httpRequestToString(url, "GET", map);        System.out.println(get);        System.out.println("----------------------");    }    @Override    public void selectPost() {        //url对方接口        String url="http://127.0.0.1:1313/test/post/lll";        System.out.println(url);        System.out.println("----------------------");        //map寄存限度内容        HashMap<String, String> map = new HashMap<>();        String post = HttpUrlConnectionUtil.httpRequestToString(url, "POST", map);        System.out.println(post);        System.out.println("----------------------");    }}

管制层调用

@RestControllerpublic class TestController {    @Autowired    private TestService testService;    @GetMapping("test")    public void test01(){        testService.selectTest();;    }    @GetMapping("test/post")    public void test02(){        testService.selectPost();    }}

调用数据胜利