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

互联网 19-11-26
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接口如何调用(附代码)的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:浅谈java枚举类(附代码)

相关资讯