Nit*_*hya 1 swagger .net-core swashbuckle
我的 API 模型有一个类似于 JArray 类型的属性
public class MyModel
{
public JArray Credentials { get; set; }
public string Property1 {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
对于 Credentials Swagger 生成类似
"credentials": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JToken"
},
"nullable": true
}
Run Code Online (Sandbox Code Playgroud)
模式就像
"JToken": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JToken"
}
}
Run Code Online (Sandbox Code Playgroud)
这里JToken是自引用的,如何避免这种自引用呢?
在生成 Swagger 文档时映射 JToken 的类型,如下所示解决了自引用问题
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
c.MapType<JToken>(() => new OpenApiSchema { Type = typeof(JToken).Name });
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
414 次 |
最近记录: |