首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用spring-cloud-gateway时需要考虑@RequestBody参数

使用spring-cloud-gateway时需要考虑@RequestBody参数
EN

Stack Overflow用户
提问于 2020-11-03 00:15:11
回答 1查看 135关注 0票数 0

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

代码语言:javascript
复制
Configuration:::

->

代码语言:javascript
复制
@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:::

-->

代码语言:javascript
复制
@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:::

-->

这是一个很好的例子,但如果有人能告诉我如何根据我的情况调整它,我将不胜感激。

代码语言:javascript
复制
https://github.com/spring-cloud/spring-cloud-gateway/blob/master/spring-cloud-gateway-sample/src/main/java/org/springframework/cloud/gateway/sample/GatewaySampleApplication.java

我已经尝试过了,但没有成功:

代码语言:javascript
复制
@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();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-03 16:36:02

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64649224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档