对假leint的反应性支持



我打算使用Spring WebFlux将微服务从阻止实现到反应性API。我几乎没有疑问:

1)是否选择基于注释的控制器还是功能路由器?2)是否有任何可用的反应式假装客户端的支持?

请帮助。

我发现这个问题不完整,没有适当的用法示例应如何设置。

由于OP没有提及目标语言,因此我想分享在我的情况下有效的Kotlin设置:

build.gradle.kts

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

config.kt

@Configuration
@EnableWebFlux
@EnableReactiveFeignClients
class Config {
}

myfeignclient.kt

@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?>?
}

然后在某些服务类中进行代码:

val myClient: MyFeignClient = WebReactiveFeign.builder<MyFeignClient>()
        .contract(ReactiveContract(SpringMvcContract()))
        .target(MyFeignClient::class.java, "http://example.com")
// feel free to add .block() to get unpacked value or just chain your logic further
val response = myClient.getValues(param)

您可以检查此库:https://github.com/playtika/feign-reactive

在Spring Webclient上实现了假装。带给你最好的 在一起两个世界:伪装的简明语法写作客户端API 在快速,异步和非阻滞http spring webclient

的http客户端

相关内容

  • 没有找到相关文章

最新更新