Параметр тела для RequestBody в Microsoft OpenAPI.NET при чтении определения OpenApi 2.0 - PullRequest
0 голосов
/ 30 апреля 2019

Я использую OpenAPI.NET для чтения определений OpenAPI.Эта библиотека может читать версии 2.0, а также 3.0, но структура объекта предназначена для версии 3.0.

У меня есть определение из примера PetStore в версии 2:

"/pet" : {
  "post" : {
    "tags" : [ "pet" ],
    "summary" : "Add a new pet to the store",
    "operationId" : "addPet",
    "consumes" : [ "application/json", "application/xml" ],
    "produces" : [ "application/json", "application/xml" ],
    "parameters" : [ {
      "in" : "body",
      "name" : "body",
      "description" : "Pet object that needs to be added to the store",
      "required" : true,
      "schema" : {
        "$ref" : "#/definitions/Pet"
      }
    } ],
    "responses" : {
      "405" : {
        "description" : "Invalid input"
      }
    },
    "security" : [ {
      "petstore_auth" : [ "write:pets", "read:pets" ]
    } ]
  },

Теперь мне нужно получить схему из параметров тела.Однако OpenAPI.NET говорит, что нет никаких параметров.С другой стороны, есть атрибут requestBody, который имеет два элемента в Content (по одному для каждого типа мультимедиа), и эти элементы в их MediaType имеют схему, которая приводит к определению ссылки.

Поскольку я безуспешно прошел через определения OpenAPI, я хотел бы спросить: правильное ли это отображение?Другими словами, был ли параметр, который является телом в OpenAPI (Swagger) 2.0, перемещен в RequestBody в OpenAPI 3, и схему этого параметра можно найти в Content?

...