Что я использую?
. NET Framework 4.8
Почтальон Версия 7.19.1
Swashbuckle 5.6.0, пакет слепков
Проблема?
У меня большой API, использующий Swagger (Swashbuckle), и я хочу импортировать схему Open API в Postman как коллекцию.
После перехода на {myUrl}/swagger/docs/v1
и вставки схемы в Почтальон Я заметил, что все мои почтовые запросы были «сломаны». При переходе к Body
оно было показано как "application/x-www-form-urlencoded"
, а не как необработанное JSON
тело.
Вместо этого это выглядит так:
My схема:
{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "My API"
},
"host": "localhost:51209",
"schemes": [
"http"
],
"paths": { },
"definitions": { }
}
paths
и definitions
не пустые, они содержат много вызовов API, поэтому я выберу только один метод POST, потому что все они имеют одну и ту же проблему.
Вот один пример paths
объекта и свойства "consumes"
в нем:
"/api/MyController/MyMethod": {
"consumes": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/x-www-form-urlencoded"
]
}
Как кажется, проблема в свойстве объекта consumes
, которое имеет массив строки в качестве значений, и одно из них "application/x-www-form-urlencoded"
.
У меня нет «специальных» атрибутов над моим действием или контроллером в. NET Web API.
[HttpPost]
[Route("MyMethod")]
public IHttpActionResult MyMethod(List<JobHeaderInputModel> jobHeaderList)
Я знаю, что есть Consumes
атрибут для ASP Net Core, но я включен. NET Framework.