【问题标题】:Account for @RequestBody parameter when using spring-cloud-gateway使用 spring-cloud-gateway 时考虑 @RequestBody 参数
【发布时间】:2020-11-02 16:15:10
【问题描述】:

我有以下Spring-Cloud-Gateway 配置和该配置所针对的控制器端点,但是当请求到达端点时,我的@RequestBody 参数始终为空。您能否指导我如何修改我的Spring-Cloud-Gateway 配置,这样问题就不会持续存在?

Configuration:::

---->>>

@Configuration
public class SpringCloudConfig {
    @Autowired SlotWalletDiscoveryService slotWalletDiscoveryService;

    @Bean
    public RouteLocator gatewayRoutes(RouteLocatorBuilder builder) {
        return builder.routes()
                  .route(r -> r.path("/api/bank/slot/account/**") //intercept calls to
                               .uri("http://localhost:8761/") //forward to
                               .id("employeeModule"))
                  .build();
    }

   @Bean
   public ServerCodecConfigurer serverCodecConfigurer() {
       return ServerCodecConfigurer.create();
   }
}



Endpoint:::

--->>>

@RestController
@RequestMapping("/api/bank/slot/account/")
class BankRequestController() {

    @GetMapping("/{ref}") fun test2(@PathVariable("ref") userRef: String, @RequestBody 
        bankRequest: BankRequest?, @RequestHeader(HttpHeaders.AUTHORIZATION)  authHeader : String): String? {
        return "Hello JavaInUse Called in First Service $userRef"
}



Debugger:::

--->>>

这是一个很好的例子,但如果有人能告诉我如何适应我的案例场景,我将不胜感激。

https://github.com/spring-cloud/spring-cloud-gateway/blob/master/spring-cloud-gateway-sample/src/main/java/org/springframework/cloud/gateway/sample/GatewaySampleApplication.java

我试过这个没有成功:

@Bean

public RouteLocator gatewayRoutes(RouteLocatorBuilder builder) {
    return builder.routes()
                  .route(r -> r.path("/api/bank/slot/account/**").and()
        .readBody(BankRequest.class, bankRequest -> {
                      return true;
                  }) //intercept calls to
                               .uri("http://localhost:8761/") //forward to
                               .id("employeeModule"))
                  .build();
}

【问题讨论】:

  • 你用的是什么版本?
  • Hoxton.SR8

标签: java spring spring-boot kotlin spring-cloud


【解决方案1】:

问题与 spring-cloud-gateway 配置无关。在Insomnia 我必须指定

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2022-12-11
    • 2020-09-13
    • 2019-01-09
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多