2017-04-05 73 views
-1

我有一个Web API(WebApi 2)。我正在尝试使用Swashbuckle进行文档编制。我有一个GET方法,它将List作为参数。该方法的工作原理,但没有出现在Swashbuckle文档中。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?

UPDATE

这是我昂首阔步配置:

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 => 
       {       
       }); 
    } 
} 
+0

直到你在你的webapi路由中做出改变,它才会显示在大摇大摆,因为这不是一个有效的路线。 –

回答

0

因为你已经说[FromUri],您的操作方法将在招摇显示只有当你删除路由属性。

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

没有骰子。我张贴我的swagger配置 –

+0

你的API定义是错误的,这就是它没有显示的原因。您应该了解路由以及参数路由在WEB API中的工作原理。 –

+0

不,路由工作。控制器上有一个路由前缀,我可以使用这个API方法。它只是没有出现在Swagger中。查看我的更新 –

相关问题