我已经向我的班级成员添加了XML评论,但Swagger不会在UI中显示它们。难道我做错了什么?
更新:您似乎无法记录您的模型类 带有@ApiModel和@ApiModelProperty注释的Swashbuckle(5.5.3)和 xml注释也不起作用。
{{1}}
Swagger配置
{{1}}
我已经创建了XML注释文件,但是在Swagger UI的Model部分中没有看到注释。
答案 0 :(得分:5)
仅添加评论是不够的。
您需要构建一个XML文档文件,并且需要告诉swagger在您的配置中找到它的位置。
转到项目构建属性并检查XML Documentation File
然后在你的swagger配置中添加以下内容
c.IncludeXmlComments(string.Format(@"{0}\bin\MyApi.XML",
System.AppDomain.CurrentDomain.BaseDirectory))
答案 1 :(得分:3)
就我而言,这是因为我的模型与服务位于不同的项目中。
我在Startup.cs中添加了另一个IncludeXmlComments调用,它可以正常工作:
c.IncludeXmlComments(xmlPath2); // add Other proj xml comments file, this is needed because it's in a different project.
答案 2 :(得分:1)
我也在努力解决这个问题。帮助我的是把它当作财产。
/// <summary>
/// Radius of the circle
/// </summary>
[DataMember]
public double radius;
/// <summary>
/// Colour of the circle
/// </summary>
[DataMember]
public double farba { get; set; }
/// <summary>
/// Some random variable
/// </summary>
[DataMember]
double random { get; set; }
结果
Circle {
radius (number, optional),
farba (number, optional): Colour of the circle ,
random (number, optional)
}
正如您所看到的,只有公共财产有描述。
希望它会有所帮助。
答案 3 :(得分:1)
如果将字段转换为属性,也可以使用。
public class MyData
{
/// <summary>
/// My code
/// </summary>
public string code { get; set; }
}
问题似乎是Swagger不记录字段,只记录属性。如果您检查生成的XML,您将看到该变量将具有F或P前缀。 https://msdn.microsoft.com/en-us/library/fsbx0t7x(v=vs.110).aspx