Swashbuckle不显示将集合作为参数的方法

时间:2017-04-05 14:26:36

标签: asp.net-web-api2 swagger swagger-ui swashbuckle

我有一个Web API(WebApi 2)。我正在尝试使用Swashbuckle进行文档编制。我有一个GET方法,它将List作为参数。该方法有效,但没有出现在Swashbuckle文档中。

[RoutePrefix("myroute")]
public class MyController : ApiController
{
    [HttpGet]
    [Route("{foo}/{bar}")]
    public async Task<IHttpActionResult> Get([FromUri]List<string> foo, string bar)
    {            
        return Ok();
    }
}

如何让List或数组与Swashbuckle一起使用?

更新

这是我的招摇配置:

public class SwaggerConfig
{        
    public static void Register(HttpConfiguration config)
    {
        var thisAssembly = typeof(SwaggerConfig).Assembly;

        config 
            .EnableSwagger(c =>
                {                        
                    c.SingleApiVersion("v1", "ZipCodeWebApi.API");                        
                    c.IncludeXmlComments(string.Format(@"{0}\App_Data\ZipCodeWebApi.API.XML", System.AppDomain.CurrentDomain.BaseDirectory));                        
                    c.DescribeAllEnumsAsStrings();                       
                })
            .EnableSwaggerUi(c =>
                {                        
                });
    }
}

1 个答案:

答案 0 :(得分:1)

正如您已经说过[FromUri],只有在删除Route属性时,您的操作方法才会显示在swagger中。

        [HttpGet]
        public async Task<IHttpActionResult> Get([FromUri]List<string> foo, string bar)
        {
            return Ok();
        }