美文网首页
UniRest 使用手册

UniRest 使用手册

作者: wzhwizard | 来源:发表于2021-07-23 14:19 被阅读0次

    UniRest是什么?

    Unirest 是一套跨语言轻量级HTTP开发库,由Kong团队维护,此团队同时维护着另一个著名开源网关项目API Gateway Kong.

    MAVEN安装

    <!-- 一般情形下maven引用的方式 -->
    <dependency>
        <groupId>com.konghq</groupId>
        <artifactId>unirest-java</artifactId>
        <version>3.5.00</version>
    </dependency>
    
    <!-- 需要作为独立jar文件引用时(包含隐式依赖) -->
    <dependency>
        <groupId>com.konghq</groupId>
        <artifactId>unirest-java</artifactId>
        <version>3.5.00</version>
        <classifier>standalone</classifier>
    </dependency>
    

    请求

    使用JAVA语言,创建一个Unirest请求相当方便,一个常见的POST请求如下:

    HttpResponse<JsonNode> response =Unirest.post("http://httpbin.org/post")
          .header("accept", "application/json")
          .queryString("apiKey", "123")
          .field("parameter", "value")
          .field("foo", "bar")
          .asJson();
    

    路由参数

    如果需要在URL中加入动态路由参数,可以先在URL中通过一个占位符标记参数位置,之后通过routeParam方法,动态指定参数值,如下所示:

    Unirest.get("http://httpbin.org/{fruit}")
         .routeParam("fruit", "apple")
         .asString();
    

    占位符的格式为{自定义名称},在示例中,{占位符}会被替换为 apple,并且所有占位符会自动使用
    URL-Encoded转义。

    查询参数

    请求路径附带的参数可以通过如下方式逐个添加:

    Unirest.get("http://httpbin.org")
                    .queryString("fruit", "apple")
                    .queryString("droid", "R2D2")
                    .asString();
    
    // 请求路径 "http://httpbin.org?fruit=apple&droid=R2D2"
    

    queryString 方法也支持通过数组,或Map传递参数

    Unirest.get("http://httpbin.org")
            .queryString("fruit", Arrays.asList("apple", "orange"))
            .queryString(ImmutableMap.of("droid", "R2D2", "beatle", "Ringo"))
            .asString();
    
     // 请求路径 "http://httpbin.org?fruit=apple&fruit=orange&droid=R2D2&beatle=Ringo"
    

    请求头

    请求头通过header方法,添加:

    Unirest.get("http://httpbin.org")
                .header("Accept", "application/json")
                .header("x-custom-header", "hello")
                .asString();
    

    Basic Authentication 认证

    Unirest提供了一个方便的方法实现 Basic Authentication 认证,Unirest 会自动处理Base64编码部分,此认证建议使用HTTPS。

    Unirest.get("http://httpbin.org")
                .basicAuth("user", "password1!")
                .asString();
    
    // 请求头 "Authorization: Basic dXNlcjpwYXNzd29yZDEh"
    

    请求体

    请求体通过body方法指定,除非特别指定,否则请求头中 Content-Type 统一设置为:text/plain; charset=UTF-8

    Unirest.post("http://httpbin.org")
                    .body("This is the entire body")
                    .asEmpty();
    

    body方法传入对象,支持用Jackson序列化对象方式生成请求体。

    相关文章

      网友评论

          本文标题:UniRest 使用手册

          本文链接:https://www.haomeiwen.com/subject/dxxpmltx.html