UniRest 使用手册

UniRest是什么?

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

MAVEN安装



    com.konghq
    unirest-java
    3.5.00




    com.konghq
    unirest-java
    3.5.00
    standalone

请求

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

HttpResponse 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 使用手册)