Swagger中的自定义模型对象数组

时间:2018-05-03 00:19:47

标签: c# swagger swagger-ui

在从IDocumentFilter

驱动的类中

我可以浏览一下招摇文件并在

下添加新属性

SwaggerDocument为我提供了一个定义。

然后我创建一个新属性并将一个数组指定为Schema,例如;

for (int i = 1; i < 10; i++) 
{
    swagDoc.properties["JsonData"].properties["Parent"].properties.Add(
        "Child"+i.ToString(), 
        new Schema() { type = "string" }); 
}      

它允许文档在JsonData文档下面有一个数组属性

然后我想打开一个循环来绑定父模式下的子属性,例如;

{
    "JsonData": { 
        "request_rejected_date": "string", 
        "report_delivered_date": "string", 
        "report_cancelled_date": "string", 
        "Parent": [ { 
            "child1": "string", 
            "child2": "string", 
            "child3": "string", 
            "child4": "string", 
            "child5": "string", 
            "child6": "string", 
            "child7": "string",
            "child8": "string", 
            "child9": "string" 
        } ] 
    } 
}

我期待Swagger请求输入中的Json对象就像;

mux

我没有要绑定的已定义类,我确实在Swagger中动态生成模型

但是,上面的代码并没有产生类似的东西 - 我怎样才能实现这个目标?

谢谢

1 个答案:

答案 0 :(得分:0)

在玩完这个物体之后,显然是这样的方法(:

swagDoc.properties["JsonData"].properties["Parent"].items = new Schema() { properties = new Dictionary<string, Schema>() };

 var schemaChild = new Schema() { description = "Child1", type = "string" };

swagDoc.properties["JsonData"].properties["Parent"].items.properties.Add("child1", schemaChild);