读取OpenApi 2.0定义时Microsoft OpenAPI.NET中RequestBody的主体参数

时间:2019-04-30 13:57:46

标签: swagger-2.0 openapi openapi.net

我使用OpenAPI.NET来读取OpenAPI定义。该库能够读取版本2.0和3.0,但是对象结构适用于版本3.0。

我从版本2的PetStore示例中获得了一个定义:

"/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中具有导致引用定义的Schema。

当我获得对OpenAPI的定义但没有成功时,我想问一下:这个映射正确吗?换句话说,是否已将OpenAPI(Swagger)2.0中的主体参数移至OpenAPI 3中的RequestBody,并且可以在Content中找到此参数的架构?

0 个答案:

没有答案