我有以下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();
}发布于 2020-11-03 16:36:02
这个问题与spring-cloud-gateway配置无关。在Insomnia上,我必须指定

https://stackoverflow.com/questions/64649224
复制相似问题