unirest java(HTTP请求库)
v3.11.10 免费版- 软件大小:0.55 MB
- 更新日期:2021-01-23 11:56
- 软件语言:英文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
Unirest可以帮助用户快速配置客户端请求功能,当你在设计web程序或者是本地程序的时候可能需要配置HTTP请求,使用这款软件就可以快速部署请求方案,软件可以配置GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS等类型的请求,提供了一种简单的即时记忆响应缓存机制,其中包括一些用于条目到期的选项,可以使用默认值,到期选项来启用它,也可以使用方提供由他们选择的缓存支持的自定义缓存,建议在高负载系统中,消费者使用专用的缓存实现(例如EHCache或Guava)来支持缓存,如果您需要简化的轻量级HTTP客户端库就可以下载Java
Unirest!
软件功能
自定义Apache客户端
Unirest在后台利用了Apache Http Client,这不是永久性的要求,Unirest的未来版本可能会用其他东西替代Apache
自定义缓存
您还可以通过实现缓存接口来提供自定义缓存
错误处理
HttpResponse对象具有一些处理程序方法,可以将它们链接在一起以处理成功和失败
JSON回应
当您不需要完整的Object Mapper时,Unirest提供轻量级的JSON响应类型。
档案回应
有时您只想下载一个文件,或者将响应主体捕获到一个文件中。Unirest可以同时做到。只需告诉Unirest您要将文件放在哪里即可。
下载进度监控
如果要上传大文件,则可能需要向用户提供一些时间进度条。您可以通过提供ProgresMonitor来监视此进度
客户证书
如果您需要使用自定义客户端证书来调用服务,则可以为unirest提供自定义密钥库。您可以传递KeyStore对象或有效PKCS#12密钥库文件的路径
分页请求
有时,服务会提供分页的请求。这样做的方法尚未标准化,但是Unirest证明了一种跟踪页面直到所有页面都用完的机制。您必须提供两个提取下一页的功能。第一种是获取所需格式的HttpResponse,第二种是next从响应中提取链接。结果是PagedList的HttpResponse。
软件特色
1、允许用户将自定义SSLContext注入Config中以确保安全
2、允许在以下情况下调用的自定义拦截器
在请求之前
请求后
发生致命的连接错误时。
3、用与org.json接口匹配的gson支持的本地kong.unirest库替换对org.json的依赖
4、添加一个全新的返回类型:(asBytes()以及异步版本)将返回一个原始的byte []数组
5、引入新的HttpStatus常量类,以引用Http响应代码。
6、切换ApacheClient以使用Apache的逐出监视器而不是自定义监视器。
7、为内置的对象映射器添加对各种Java DateTime类型的本机默认支持。所有类型都将序列化为ISO-8601。从json解析将尝试各种ISO变体。
支持的类型:
ZonedDateTime
LocalDateTime
本地日期
日历
日期
官方教程
使用Maven安装:
要求
因此,您可能想知道使用Unirest如何使在Java中创建请求更加容易,这是一个基本的POST请求,它将解释所有内容:
当发出的请求as[Type]()被调用时,可能的类型包括Json,String,Object Empty和File。
路线参数
有时您想在URL中添加动态参数,可以通过在URL中添加一个占位符,然后通过使用routeParam函数设置路由参数来轻松地做到这一点,例如:
占位符{fruit}将替换为apple。
占位符的格式就像用大括号括起来一样容易: {custom_name}
所有参数值都将为您进行URL编码
默认基本URL
您可以配置默认基本URL,以用于所有不包含完整URL的请求。
此配置将导致GET到“ http://homestar.com/runner”
查询参数
可以一一建立查询字符串参数
同样,所有参数值都将进行URL编码。
您还可以将查询字符串作为数组和映射传递:
标头
可以使用该header方法添加请求标头。
基本认证
在需要时,Unirest公开了执行基本身份验证的快捷方式。Unirest处理Base64编码部分。请确保您始终通过HTTPS执行此操作!
实体机构
您可以轻松地将实体对象发布为整个主体。这是大多数REST服务的默认行为。
除非您另外指定,否则默认Content-Type值为text/plain; charset=UTF-8
您还可以发布为使用已配置的ObjectMapper序列化的Object。(有关实现的详细信息,请参阅对象映射器。Unirest附带了默认映射器,它将使用流行的Google Gson库序列化为json
对象映射器
Unirest根据流行的JSON库(Jackson和GSON)提供了一些不同的Object Mapper。这些可以作为传统或带阴影的罐子包括在内:
对象或JSON解析中的错误
您不能总是得到想要的东西。有时,您从Web服务获得的结果不会映射到您期望的结果。当asObject或asJson请求发生这种情况时,结果主体将为null,但响应对象将包含ParsingException,该异常使您可以获取错误和原始主体以进行检查。
映射错误对象
有时,使用REST API时,服务将返回可以解析的错误对象。您可以选择将其映射到POJO之类的
在没有对象映射器的情况下将一种身体类型映射到另一种
如果您不想提供完整的ObjectMapper实现,则可以使用简单的函数来映射响应
常见问题
升级到Unirest 3.0
Unirest 3的主要区别在于,使用Google Gson作为引擎的org.json接口的无尘室实现已取代了org.json依赖项。
什么?为什么?
这样做是由于与org.json许可证发生冲突而导致的,该许可证要求“该软件用于善良,而非邪恶。” 尽管许多人正确地认为这是愚蠢的,并且法律无法强制执行,但是诸如Eclipse,Debian和Apache之类的许多组织都不允许使用它。
为什么不切换到org.json的google实现?
几个原因:
几年来一直没有对其进行维护,并且不再与org.json签名匹配。
这会导致许多项目禁止的类路径冲突。
我们希望Unirest能够扩展到org.json之外,并提供对象映射等更高级的本机功能。
为什么是Gson而不是Jackson?
Gson在精神和方法签名上与org.json最接近,因此被认为采用起来更快。
它很小,很成熟并且只有一个依赖项。
与其他项目相比,Jackson的冲突要少得多,而Jackson既受欢迎,又复杂得多。
这是怎么做的?
实现是在不查看org.json类内部的情况下完成的。这是通过编写大量的单元测试以记录行为和方法签名,然后简单地更改测试以使用该项目自己的类以及Google Gson来实现的。
更新日志
3.11.10
问题#394使用配置的对象映射器而不是始终使用Json
内部预装准备为Unirest 4做好准备
3.11.09
Mock的预期身体参数值需要进行url编码
支持对MockClient方法的任何期望。(例如```expect(HttpMethod.GET)``)
3.11.08
向Mock客户端添加新的主体匹配器,以声明多部分表单。
3.11.07
在JSONObject上添加新的对象构造函数以进行基本对象序列化
问题#392覆盖未指定的数字序列化
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文