Я использую 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?