Ocelot Gateway API возвращает 415 при использовании атрибута FromBody в действии контроллера

Я устанавливаю шлюз Ocelot API для приложения на основе микросервиса, работающего в кластере Kubernetes. Маршрутизация работает правильно, но запросы POST не выполняются, когда я использую атрибут FromBody в действии контроллера.

Это урезанный пример.

Конфигурация 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);
}

Если я запускаю API самостоятельно, все работает нормально, и я получаю ответ 200.

Однако при выполнении того же запроса через шлюз API возникает ответ 415.

Я не вижу ничего в документации по Ocelot по этому поводу, поэтому я предполагаю, что это нужно изменить в самой настройке API. Другие почтовые запросы с параметрами запроса работают нормально. Проблема возникает только когда я добавляю атрибут FromBody.

Это журналы от Ocelot:

И логи из API

0 ответов

Другие вопросы по тегам