Swagger - C#中的字符串列表

时间:2017-07-17 10:41:20

标签: c# swagger

我有Swagger和C#的问题。我有一个接收字符串列表的GET metod,我用Swagger证明了这一点。当我在Swagger中运行应用程序时,参数“Lista”是paramType = body而不是query,并且调试器在此字段中接收null。我该怎么做?感谢

Swagger输出:

Parameter   Value    Description    Parameter Type      Data Type
fecha     (required)    Fecha            query           date-time
lista                   Lista            body            array[string]

C#代码:

/// <summary>
/// Recover some data
/// </summary>
/// <param name="fecha">Fecha</param>
/// <param name="lista">Lista</param>
/// <returns>Information</returns>
[Route("v1/tareas")]
[SwaggerTags("Planificador")]
[SwaggerResponse(HttpStatusCode.OK, typeof(Tarea))]
[SwaggerResponse(HttpStatusCode.NotFound, typeof(string))]
//[BearerAuthorizeAttribute]
[HttpGet]
public HttpResponseMessage GetTarea(DateTime fecha, List<string> lista = null )
{...}

1 个答案:

答案 0 :(得分:1)

您必须添加属性[FromBody]:

public HttpResponseMessage GetTarea(DateTime fecha, [FromBody] List<string> lista)

并且没有必要使用默认值,如果你没有传递任何东西它是一个引用类型,无论如何它都是null。