Swashbuckle Swagger 生成一个实际的 guid
Posted
技术标签:
【中文标题】Swashbuckle Swagger 生成一个实际的 guid【英文标题】:Swashbuckle Swagger generate an actual guid 【发布时间】:2019-12-23 00:15:40 【问题描述】:我正在使用 Swashbuckle 在我的 .Net Core WebAPI 项目中生成 Swagger。正如您在下面看到的,它生成一个字符串类型的 GUID。我想生成一个随机 Guid 并将“string”替换为“”或空 guid“00000000-0000-0000-0000-000000000000”。这将允许我的示例在我发布时实际工作。
"payload": [
"GUID": "string",
"status": "string"
]
当我这样做的时候,是否有可能与任何字符串相同,以便 JSON 每次都不同?
【问题讨论】:
您的 C# 代码中如何定义GUID
属性?
【参考方案1】:
像这样在您的有效负载类中装饰您的 GUID 属性
public class Payload
/// <summary>
/// The GUID
/// </summary>
/// <example>00000000-0000-0000-0000-000000000000</example>
public string Guid get; set;
这应该将示例从“字符串”更改为“00000000-0000-0000-0000-000000000000”
编辑:忘记添加。在您的 startup.cs 中,您可能需要添加以下代码
// Swagger
services.AddSwaggerGen(c =>
c.SwaggerDoc("v1", new Info Title = "TEST API", Version = "v1" );
// Set the comments path for the Swagger JSON and UI.
var xmlFile = $"Assembly.GetExecutingAssembly().GetName().Name.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
);
【讨论】:
【参考方案2】:使用最新版本的 Swashbuckle.AspNetCore,您可以使用 DefaultValue 属性。 例如:
[DefaultValue("00000000-0000-0000-0000-000000000000")]
public string Guid get; set;
最近实现了:https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/575
【讨论】:
如何将示例添加到基于路由的输入参数中? ///以上是关于Swashbuckle Swagger 生成一个实际的 guid的主要内容,如果未能解决你的问题,请参考以下文章
asp.net core使用Swashbuckle.AspNetCore(swagger)生成接口文档
使用 Swashbuckle V5 从代码生成 swagger.json
用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
如何使用 Swashbuckle 从关于 WebAPI 的 Swagger 文档中省略方法
使用Swashbuckle Aspnetcore将`host`,`basePath`和`schemes`添加到swagger.json