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