WEB API的文档框架

时间:2015-08-31 13:28:45

标签: api rest asp.net-web-api

我正在使用Swagger来记录我的API,但我正在寻找一种替代工具,允许我的API使用相同的VERB + PATH多个“方法”,例如:

[RoutePrefix("api/Customer")]
public class CustomerController : ApiController
{
    [HttpGet]
    [Route("")]
    public ClienteDTO GetCustomerByContractId(int contractId)
    {
        //...
    }

    [HttpGet]
    [Route("")]
    public ClienteDTO GetCustomerByAccountId(int accountId)
    {
        //...
    }
} 

这在ASP.NET WEB API中工作正常,因为“GET”请求将在服务器端遇到正确的方法:

http://example.com/api/Customer?contractId=1
http://example.com/api/Customer?accountId=1

但Swagger不支持此(https://github.com/swagger-api/swagger-spec/issues/182)。

有人知道支持这个的替代文档框架吗?

1 个答案:

答案 0 :(得分:1)

Microsoft提供的NuGet软件包没有此限制:

https://www.nuget.org/packages/Microsoft.AspNet.WebApi.HelpPage

enter image description here

它来自Microsoft,它非常容易定制,因为它为您的解决方案添加了文件(控制器,css和一些cshtml文件)。唯一的问题是你不能像swashbuckle那样对你的API进行测试调用(我说,直接从你的文档页面做一个POST,GET等)。我在cshtml文件中做了一些修改,并且很容易添加了这个功能。