微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Swagger API没有刷新文档

我正在使用Swagger API来记录我的REST服务.
之前我的控制器方法没有提供信息性的评论,因此Swagger API没有显示描述,但现在甚至在更新评论后,我没有在突出显示的区域中获得方法描述.
/// <summary>
    /// Gets the consumer scores by retailer id and return id
    /// </summary>
    /// <param name="retailerId"></param>
    /// <param name="returnId"></param>
    /// <returns></returns>

我错过了什么吗?

解决方法

为了让Swashbuckle从您的XML注释中读取,您需要为目标项目启用XML文档文件.除此之外,您还需要在启动配置中将Swashbuckle指向该文件.

Swashbuckle Documentation

Open the Properties dialog for your project,click the “Build” tab and
ensure that “XML documentation file” is checked. This will produce a
file containing all XML comments at build-time.

At this point,any classes or methods that are NOT annotated with XML
comments will trigger a build warning. To supress this,enter the
warning code “1591” into the “Supress warnings” field in the
properties dialog.*

Configure Swashbuckle to incorporate the XML comments on file into the
generated Swagger JSON:

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1",new Info
        {
            Title = "My API - V1",Version = "v1"
        }
     );

     var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath,"MyApi.xml");
     c.IncludeXmlComments(filePath);
}

Annotate your actions with summary,remarks and response tags

/// <summary>
/// Retrieves a specific product by unique id
/// </summary>
/// <remarks>Awesomeness!</remarks>
/// <response code="200">Product created</response>
/// <response code="400">Product has missing/invalid values</response>
/// <response code="500">Oops! Can't create your product right Now</response>
[HttpGet("{id}")]
[ProducesResponseType(typeof(Product),200)]
[ProducesResponseType(typeof(IDictionary<string,string>),400)]
[ProducesResponseType(typeof(void),500)]
public Product GetById(int id)

Rebuild your project to update the XML Comments file and navigate to the Swagger JSON endpoint. Note how the descriptions are mapped onto corresponding Swagger fields.

原文地址:https://www.jb51.cc/csharp/243953.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐