作者回复: 建议用Google,一般会找到Github或者Stackoverflow上,国内的也有一些网站,用对关键字比较重要。
作者回复: 网上还是有不少类似的问题解决方案的,可以搜索一下“Feign 获取 Header”,比如,在其中大部分都会提到要修改一下hystrix.command.default.execution.isolation.strategy=SEMAPHORE ,你可以试试。
作者回复: @PostMapping(path = "/", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) 在方法上用这样的形式可以限定接收和返回的类型,都是JSON。
作者回复: 直接看OpenFeign官网的文档基本就够用了。
作者回复: webflux的服务发不出来就和普通的web服务是一样的,所以可以用feign去调用这些服务。不过一般情况下feign的调用是同步的,不像webclient这样调用是异步的,网上有基于webclient写的非同步的feign,可以了解一下。
作者回复: 1. 两个框架都不错,用哪个都可以,但如果你要用HTTP/2,OkHttp大概是目前你唯一的选择,HttpClient的5.0里才支持。 2. 如果想完全按照教科书来,REST服务应该是解耦的,你在客户端重新定义一个Book,能反序列化出来就好。但如果服务的提供方和消费方都是Java的,偷懒一点的做法可以把接口和类打成JAR提供出来。但是,要注意兼容性,别接口一升级就逼着别人跟着你升JAR。
作者回复: 建议可以看看程序猿DD或者周立的博客,对Feign上传文件都有示例,比如http://blog.didispace.com/spring-cloud-starter-dalston-2-4/和http://www.itmuch.com/spring-cloud-sum/spring-cloud-feign-upload/
作者回复: Feign就是远程调用了,针对远程调用,你觉得是不是应该有一定的封装呢?如果内容很简单,你也可以直接拿个对象来用。这个就是你自己把握啦。
作者回复: 本质都是做了远程调用,只是使用的方式不同而已
作者回复: 支持呀,我们的接口不都是JSON的么