当前位置:首页 > 编程问答 > Fundebug

java怎么调用接口?jav调用接口方法?

提问时间:2020年05月10日 17:51:20问题被 181 网友关注
共1个精选答案
admin
推荐于:2020-05-10
最佳回答

java如何调用接口

其实对于java调用接口进行获取对方服务器的数据在开发中特别常见,然而一些常用的基础的知识总是掌握不牢,让人容易忘记,写下来闲的时候看看,比回想总会好一些。

总体而言,一些东西知识点一直复制粘贴容易依赖,重要的是会忘记为什么这么写,只有理解到位,或者八九不离十才可以对于随时变化的情况进行分析,如果到家,还可以对别人或自己的进行优化。

如果你在这篇没有找到你想要的

而对于一些知识点呢,对其进行整理和归纳,这样容易进行对比加深记忆,对下面代码和总结进行对比着看。

首先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如何调用呢?

package com.c;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

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("3412412---"+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) {

            // TODO: handle exception

            System.out.print(e.getMessage());

            }

        }
}

 

参考资料

  • Java核心技术卷II:高级特性出版社:机械工业出版社 作者:霍斯特曼
  • OSGi与Equinox:创建高度模块化的Java系统出版社:人民邮电出版社 作者:Jeff McAffer
  • 学习JavaScript数据结构与算法出版社:人民邮电出版社 作者:洛伊安妮
  • Java并发编程的艺术出版社:机械工业出版社 作者:方腾飞,魏鹏,程晓明
  • 菜鸟成长之路:Java程序员职场全攻略出版社:电子工业出版社 作者:吴亚峰
  • OCA JAVA SE 7 PROGRAMMER I认证学习指南出版社:清华大学出版社 作者:EdwardFinegan,Robert
  • Web前端开发精品课 JavaScript基础教程出版社:人民邮电出版社 作者:莫振杰
  • 相关问题

  • java关于腾讯ocr图片识别接口调用总结06-11
  • 解析Kotlin接口与Java8新特性接口03-13
  • 如何理解Java 8 新增函数式接口01-19
  • Java调用CXF WebService接口的方式实例总结06-09
  • Java微信分享接口开发示例效果01-15
  • 更多答案
    网友NO.529792

    06-04

    Java8中新特性Optional、接口中默认方法和静态方法详解, 前言 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。 Java 8是Java的一个重大版本,有人认为,虽然这些新特性领Java开发人员十分期待,但同时也需要花不少精力去学习。下面本文就给大家详细介绍了Java8中新特性Optional、接口中默认方法和静态方法的相关内容,话不多说了,来一起看看详细的介绍吧。 Optional Optional 类( java.util.Optional ) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。 常用方法: Optional.of(T t) : 创建一个 Optio……

    网友NO.522361

    06-21

    微信公众平台 发送模板消息(Java接口开发), 前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西。今天先总结一下微信公众平台模板消息的发送。因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下。 微信公众平台技术文档:模板消息接口 一、概述 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。 关于使用规则,请注意: 1、所有服务号都可以在功能-添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使……

    网友NO.471640

    06-04

    Java使用PreparedStatement接口及ResultSet结果集的方法示例, 本文实例讲述了Java使用PreparedStatement接口及ResultSet结果集的方法。分享给大家供大家参考,具体如下: 说明: 1.PreparedStatement接口继承Statement,它的实例包含已编译的SQL语句,执行速度要快于Statement。 2.PreparedStatement继承了Statement的所有功能,三种方法 executeUpdate 、 executeQuery 、 execute 不再需要参数。 3.在JDBC应用中,一般都用PreparedStatement,而不是Statement。 便于操作,先做一些封装: 对连接数据库,关闭连接封装,在之前博客中已经提到DbUtil.java; 对数据库表进行封装,这里是对我的数据库中comp表进行操作,因此封装如下: package com.mysqltest.jdbc.modelComp;public class CompMember { private int id; private String name; pri……

    网友NO.247143

    06-20

    微信公众平台 客服接口发消息的实现代码(Java接口开发), 微信公众平台技术文档:客服消息 一、接口说明 当用户和公众号产生特定动作的交互时(具体动作列表请见下方说明),微信将会把消息数据推送给开发者,开发者可以在一段时间内(目前修改为48小时)调用客服接口,通过POST一个JSON数据包来发送消息给普通用户。此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务。 目前允许的动作列表如下(公众平台会根据运营情况更新该列表,不同动作触发后,允许的客服接口下发消息条数不同,下发条数达到上限后,会遇到错误返回码,具体请见返回码说明页): 1、用户发送信息 2、点击自定义菜单(仅有点击推事件……

    <
    1
    >

    Copyright 2018-2020 xz577.com 码农之家

    本站所有电子书资源不再提供下载地址,只分享来路

    版权投诉 / 书籍推广 / 赞助:QQ:520161757