【发布时间】:2020-11-21 07:05:18
【问题描述】:
我将 Swagger 与我的 ASP.NET Core 应用程序和返回 Blog 模型的 HTTP POST 端点一起使用:
[HttpPost]
[ProducesResponseType(typeof(Blog), StatusCodes.Status200OK)]
public IActionResult AddBlog([FromBody] string name)
{
// Code removed for brevity...
return Ok(newBlog);
}
博客:
public Blog
{
public int Id { get; set; }
public string Name { get; set; }
}
Swagger 在其 UI 中将显示该端点的示例响应:
{
"Id": 0,
"Name": "string"
}
我想做的是在 JSON 中为我提供的类的类型和我需要它的位置生成这样的示例值,这在我的应用程序的其他地方,例如:
var json = exampleValuesGenerator.Generate(typeof(Blog));
这可能吗?
【问题讨论】:
-
你想要一个字符串吗?
-
不,我想要从 type 生成完整的 JSON。如果该类型具有嵌套属性,我希望 JSON 也能反映这一点。
-
你的意思是something like this 但对于.NET?如果没有类似的.NET 库,您可以尝试通过IKVM 调用Java 库。或者您可以尝试使用mock server 来生成示例响应。
-
或者,generate a JSON Schema 来自 C# 类,然后 use a JSON Schema "sampler" 从该架构生成示例 JSON。
-
@Helen 我想是的。谢谢你的链接和方向。肯定会试一试。终于有人明白我在这里问的是什么了:)
标签: c# asp.net-core swagger swagger-ui swagger-codegen