java 一些访问http api 请求访问的方法整理

以下是整理一些关于java 代码调用http 的方法

直接使用URL的openConnection进行操作

使用原生的http请求模式

使用其他包装的http请求客户端

这类比较多比如okhttp,HttpComponents,async-http-client

基于dsl 注解模式访问(比较推荐的玩法)

OpenFeign,retrofit,ribbon 也很不错

另外类sql 的数据访问

比较推荐的是restQL-java ,很不错,但是热度不是很高

基于swagger 或者类似open api 模式的api 代码生成

方法也不难,就是按照swagger 等open api 模式生成schema,然后自动生成代码(可以跨平台)

其他框架的包装

这类也比较多,比较常见的是spring 的resttemplate 模式,同时我们可以配置不同的httpclient

说明

以上是一个简单的整理说明,是一些常见http api 请求的方式,如果大家发现其他比较好的方式,可以推荐下 
同时一些吐槽,基本上大部分(90%,feign 支持cache)左右的http 请求对于cache都不是很好,因为很多时候我们遵循了http 
协议实现了cache 的处理,但是http client 还是进行请求处理,如果我们基于了http 的cache 处理实际一些关于 
api 请求相关的处理可能就会比较灵活,同时也可以实现稳定的系统(httpcache4j是一个不错的选择)

参考资料

https://github.com/AsyncHttpClient/async-http-client 
http://hc.apache.org/ 
https://github.com/b2wdigital/restQL-java 
https://github.com/OpenFeign/feign 
https://github.com/square/retrofit 
https://github.com/httpcache4j/httpcache4j 
https://github.com/Netflix/ribbon

原文地址:https://www.cnblogs.com/rongfengliang/p/13936956.html