我正在为Kubernetes集群中运行的基于微服务的应用程序设置Ocelot API网关。路由工作正常,但是当我在控制器操作上使用FromBody属性时,POST请求失败。
这是一个简化的示例。
Ocelot配置
{
"UpstreamPathTemplate": "/v1/test/{everything}",
"UpstreamHttpMethod": [],
"DownstreamPathTemplate": "/api/v1/test/{everything}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [{
"Host": "users-api",
"Port": 80
}]
}
控制器动作
[HttpPost("post-with-from-body")]
public IActionResult PostWithFromBody([FromBody] PostDto postData)
{
return Ok(postData);
}
我在Ocelot文档中看不到任何有关此内容的信息,因此我猜想这是API设置本身需要更改的内容。其他职位要求,例如查询参数工作正常。仅当我添加FromBody属性时,才会出现此问题。