• 技术文章 >Java >Java基础

    java接口如何调用(附代码)

    尚2019-11-26 09:28:21原创1117

    java调用接口方法:

    package com.lwl.api.provider.demo.test;
     
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.PrintStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
     
    public class RestUtil {
        public String load(String url,String query) throws Exception
        {
            URL restURL = new URL(url);
            /*
             * 此处的urlConnection对象实际上是根据URL的请求协议(此处是http)生成的URLConnection类 的子类HttpURLConnection
             */
            HttpURLConnection conn = (HttpURLConnection) restURL.openConnection();
            //请求方式
            conn.setRequestMethod("POST");
            //设置是否从httpUrlConnection读入,默认情况下是true; httpUrlConnection.setDoInput(true);
            conn.setDoOutput(true);
            //allowUserInteraction 如果为 true,则在允许用户交互(例如弹出一个验证对话框)的上下文中对此 URL 进行检查。
            conn.setAllowUserInteraction(false);
            PrintStream ps = new PrintStream(conn.getOutputStream());
            ps.print(query);
            ps.close();
            BufferedReader bReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line,resultStr="";
            while(null != (line=bReader.readLine()))
            {
                resultStr +=line;
            }
            System.out.println("接口调用数据:"+resultStr);
            bReader.close();
            return resultStr;
        }
        public static void main(String []args) {try {
            RestUtil restUtil = new RestUtil();
            String resultString = restUtil.load(
                    "http://192.168.10.89:8080/eoffice-restful/resources/sys/oaholiday",
                    "floor=first&year=2017&month=9&isLeader=N");
        } catch (Exception e) {
            System.out.print(e.getMessage());
        }
        }
    }

    首先URL restURL = new URL(url);这其中的url就是需要调的目标接口地址,URL类是java.net.*下的类,这个不陌生。

    setRequestMethod("POST");请求方式是有两个值进行选择,一个是GET,一个是POST,选择对应的请求方式

    setDoOutput(true);setDoInput(true);

    setDoInput() : // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true, 默认是false;

    setDoOutput(): // 设置是否从httpUrlConnection读入,默认情况下是true;

    setAllowUserInteraction();allowUserInteraction 如果为 true,则在允许用户交互(例如弹出一个验证对话框)的上下文中对此 URL 进行检查。

    下面代码的query是以 属性=值 传输的,若是多个则是 属性=值&属性=值 这种形式传递的,传递给服务器,让服务器自己去处理。

    如何去生成这种形式的呢?最简单最快的方式在这里 Java将Map拼接成“参数=值&参数=值”

    close();创建流进行写入或读取返回值,创建用完后记得关闭流。

    更多java知识请关注java基础教程栏目。

    以上就是java接口如何调用(附代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:java
    上一篇:浅谈java枚举类(附代码) 下一篇:java接口乱码解决方法
    大前端线上培训班

    相关文章推荐

    • java中的容器是指什么• java中关于对象的详细介绍• java中线程的完整生命周期有哪几种状态• java的String类中两种对象实例化的区别

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网