Unirest-Java是一个轻量级的HTTP客户端库,它提供了简单易用的API,可以帮助Java开发人员快速地发送HTTP请求和处理响应。在本文中,我们将深入探讨Unirest-Java的技术细节和使用方法。
Unirest-Java可以通过Maven或Gradle进行安装和配置。在Maven中,只需要在pom.xml文件中添加以下依赖项:
Unirest-Java提供了一组简单易用的API,可以帮助Java开发人员快速地发送HTTP请求和处理响应。
请求处理操作
所以你可能想知道使用 Unirest 如何使在 Java 中创建请求更容易,这里有一个基本的 POST 请求,它将解释一切:
调用asType时会发出请求,类型包括Json、字符串、对象空和文件。路由参数(Route Parameters)
有时您想在URL中添加动态参数,您可以通过在 URL 中添加占位符,然后使用 routeParam 函数设置路由参数来轻松完成,例如:
请求的结果是
默认基本的URL(Default Base URLs)
您可以配置默认基础URL,以用于不包含完整URL的所有请求,此配置将导致 GET 到“”。
查询参数(Query Parameters)
可以逐个构建查询字符串参数
使用 "http://localhost?fruit=apple&droid=R2D2"进行请求Http操作。
同样,所有参数值都将进行URL编码,您还可以将查询字符串作为数组和映射传入:
请求的内容为 "http://localhost?fruit=apple&fruit=orange&droid=R2D2&beatle=Ringo"
请求头(Headers)
可以使用标头方法添加请求标头。
基本身份验证(Basic Authentication)
Unirest 公开了一个快捷方式,用于在需要时执行基本身份验证。Unirest 处理 Base64 编码部分。请确保您始终通过HTTPS执行此操作!
添加了请求头 “Authorization: Basic dXNlcjpwYXNzd29yZDEh”
请求体(Body Data)
实体主体
您可以轻松地发送请求头。这是大多数REST服务的默认行为。除非另行指定,否则默认内容类型为Content-Type 是 text/plain; charset=UTF-8。
还可以发布为使用配置的对象映射器序列化的对象。Unirest带有一个默认映射器,它将使用流行的Google Gson库序列化为json。
这将使用Jackson将对象序列化为JSON。
发送GET请求
发送POST请求
发送PUT请求
发送DELETE请求
处理响应
基本表单
基本的http名称值主体参数可以通过简单的字段调用来传递。这种类型请求的Content-Type默认为application/x-www-form-urlencoded。
这将发布一个与HTML表单相同的简单名称-值对主体。如:“fruit=apple&droid=R2D2”。
文件上传
你也可以采用表单的形式发布二进制数据。就像文件一样。此类型请求的内容类型默认为multipart/form-data。
对于大文件,可能需要使用InputStream。如果需要文件名,请给它一个文件名。在这里使用的是FileInputStream,但它实际上可以是任何类型的InputStream。
上传进度监控
如果正在上传大文件,可能需要向用户提供一些时间进度条。您可以通过提供ProgresMonitor来展示进度。
异步请求
大多数时候,您希望应用程序是异步的,而不是阻塞的,Unirest在Java中使用匿名回调来支持这一点。所有请求类型都支持异步版本。
响应体
Unirest在您调用它的as〔type〕方法时发出实际请求。这些方法还通知Unirest将响应映射到什么类型。选项有Empty、String、File、Object、byte和Json。
响应返回为HttpResponse,其中HttpResponse对象具有所有常见的响应数据,如状态和标头。可以使用.getBody()方法通过所需类型访问Body(如果存在)。
Empty响应体
如果你不需要得到结果返回,asEmpty是最简单的选择。但是仍然会得到其他的响应信息。
String响应体
最简单的响应类型是字符串。在那之后,你可以用它做任何你想做的事。
JSON响应体
当您不需要完整的Object Mapper时,Unirest提供了一种轻量级的JSON响应类型。
大数据响应体
一些响应方法(asString、asJson)将整个响应流读取到内存中。为了读取原始流并处理大量响应,您可以使用以下几种功能方法:
消费者模式
Object Mapped响应体
Unirest提供了一些插件来实现流行的对象映射器,如Jackson和Gson。
例如
响应体的对象
响应体的对象
可以通过使用GenericType子类来解析泛型类型,以避免擦除。
直接采用反射进行获取对象
Unirest-Java是一个简单易用、轻量级的HTTP客户端库,它提供了多种HTTP方法和异步请求支持,可以帮助Java开发人员快速地发送HTTP请求和处理响应。如果你正在寻找一个简单易用的HTTP客户端库,那么Unirest-Java是一个不错的选择。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/16740.html