Как включить тип содержимого text / plain в документации, создаваемой NSwag? - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь создать контроллер в API AspNetCore 3.1. c #, с помощью «NSwag.AspNetCore» 13.1.3. Назначение этого контроллера - получать и возвращать простой текст (не json).

Код контроллера выглядит следующим образом:

[HttpPost]
[Route("api/BodyTypes/JsonPlainBody")]
[Consumes("text/plain")]    
[Produces("text/plain")]
public string PlainStringBody([FromBody] string content)
{
    return content;
}   

Отрывок из «чванства». json "файл, описывающий эту службу:

...
"/api/BodyTypes/JsonPlainBody": {
  "post": {
    "tags": [
      "Acessórios - Operações diversas"
    ],
    "operationId": "Acessorios_PlainStringBody",
    "requestBody": {
      "x-name": "content",
      "content": {
        "application/json": {
          "schema": {
            "type": "string"
          }
        }
      },
      "required": true,
      "x-position": 1
    },
    "responses": {
      "200": {
        "description": "",
        "content": {
          "application/json": {
            "schema": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}
...

Представление этого контроллера в SwaggerUI не позволяет мне выбрать тип содержимого" text / plain ", следовательно, генерируя запрос http в неправильном формате, в результате чего сервер возвращает ошибку, связанную с форматом данных (415 - ошибка: неподдерживаемый тип носителя):

enter image description here

При тестировании этого же контроллера в Почтальоне , редактируя с использованием типа контента «text / plain», все работает как положено:

enter image description here

Любая помощь приветствуется.

...