2017-03-15 34 views
5

Tôi đang sử dụng API Swagger để ghi lại các dịch vụ REST của mình. Trước đó phương thức điều khiển của tôi không có các chú thích thông tin, do đó Swagger API không hiển thị mô tả, nhưng bây giờ ngay cả sau khi cập nhật các nhận xét như tôi không nhận được mô tả phương pháp trong khu vực được đánh dấu.Swagger API không làm mới tài liệu

/// <summary> 
    /// Gets the consumer scores by retailer id and return id 
    /// </summary> 
    /// <param name="retailerId"></param> 
    /// <param name="returnId"></param> 
    /// <returns></returns> 

enter image description here

Tôi có thiếu gì không?

+1

Khi bạn nói "Sử dụng API vênh vang", ý của bạn là gì? Bạn đang sử dụng thư viện nào để tạo tài liệu vênh vang của mình từ C#? – mclark1129

+0

Tôi đang sử dụng 'Swashbuckle.AspNetCore' với C# Web API của tôi. – Sameer

Trả lời

4

Để Swashbuckle đọc từ các nhận xét XML của bạn, bạn sẽ cần phải kích hoạt tệp tài liệu XML cho dự án đích của bạn. Thêm vào đó bạn sẽ cần phải trỏ Swashbuckle vào tập tin đó trong cấu hình khởi động của bạn.

Từ Swashbuckle Documentation:

mở hộp thoại Properties cho dự án của bạn, nhấp vào "Xây dựng" tab và đảm bảo rằng "tập tin tài liệu XML" được chọn. Điều này sẽ tạo ra tệp chứa tất cả các nhận xét XML tại thời gian xây dựng.

Tại thời điểm này, mọi lớp hoặc phương thức KHÔNG được chú thích bằng các chú thích XML sẽ kích hoạt cảnh báo xây dựng. Để đàn áp này, nhập mã cảnh báo "1591" vào trường "cảnh báo đàn áp" trong hộp thoại tính *

Configure Swashbuckle để kết hợp các ý kiến ​​XML trong hồ sơ vào tạo 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); 
} 

Chú thích hành động của bạn với bản tóm tắt, nhận xét và thẻ phản ứng

/// <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) 

Tạo lại dự án của bạn để cập nhật tệp Nhận xét XML và điều hướng đến điểm cuối JSON Swagger. Lưu ý cách các mô tả được ánh xạ lên các trường Chuyển đổi tương ứng.