对假装的反应性支持

时间:2018-12-17 14:19:28

标签: spring microservices spring-cloud spring-webflux spring-cloud-feign

我计划使用spring webflux将我的微服务重构为从阻止实现到反应式API。我对此毫不怀疑:

1)是否选择基于注释的控制器或功能路由器? 2)是否有对被动假冒客户的支持?

请帮助。

2 个答案:

答案 0 :(得分:0)

您可以检查以下库:https://github.com/Playtika/feign-reactive

  

在Spring WebClient上实现Feign。为您带来最好的   两个世界在一起:Feign的简洁语法编写客户端API   在Spring WebClient的快速,异步且无阻塞的HTTP客户端上

答案 1 :(得分:0)

如果没有正确使用示例说明如何设置事情,我发现这个问题不完整。

由于op没有提及目标语言,因此我想分享适用于我的情况的Kotlin设置:

build.gradle.kts

id

Config.kt

implementation("org.springframework.boot:spring-boot-starter-webflux")
implementation("com.playtika.reactivefeign:feign-reactor-core:2.0.22")
implementation("com.playtika.reactivefeign:feign-reactor-spring-configuration:2.0.22")
implementation("com.playtika.reactivefeign:feign-reactor-webclient:2.0.22")

MyFeignClient.kt

@Configuration
@EnableWebFlux
@EnableReactiveFeignClients
class Config {
}

然后在某些服务类中添加代码:

@Component
@ReactiveFeignClient(
        url = "\${package.service.my-service-url}",
        name = "client"
)
interface MyFeignClient {
    @GetMapping(value = ["/my/url?my_param={my_value}"], consumes = ["application/json"])
    fun getValues(
            @PathVariable(name = "my_value") myValue: String?,
        ): Mono<MyEntity?>?
}