C# Swagger-C中的字符串列表

C# Swagger-C中的字符串列表,c#,swagger,C#,Swagger,我对Swagger和C有一个问题。我有一个GET-metod,它接收字符串列表,我用Swagger证明了这一点。当我运行应用程序时,在Swagger中,参数Lista是paramType=body而不是query,调试器在该字段中接收null。我怎么做?谢谢 大摇大摆输出: Parameter Value Description Parameter Type Data Type fecha (required) Fecha query

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

大摇大摆输出:

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 )
{...}

您必须添加属性[FromBody]:

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

并且不需要使用默认值,如果不传递任何内容,则它是一个引用类型。无论如何,它将为null。

您应该使用属性[FromBody]从body获取参数,或者将参数添加到路由。现在我不确定你的DateTime是否有效。字段DateTime工作正常,我总是收到一个日期。问题在于清单。我从未收到任何值..尝试写入…,[FromBody]列表列表A…我收到以下错误:{Message:error.,ExceptionMessage:可选参数'lista'与'FormatterParameterBinding'不兼容,ExceptionType:System.InvalidOperationException,}如果没有默认值,它应该可以工作。