parameter - c# parámetro opcional
Enrutamiento de atributos con parámetros opcionales en ASP.NET Web API (1)
Estoy intentando utilizar el enrutamiento de atributos de la API web 2 para configurar una API personalizada. Tengo mi ruta funcionando de modo que llame a mi función, pero por alguna razón necesito pasar mi primer parámetro para que todo funcione correctamente. Las siguientes son las URL que quiero apoyar:
http://mysite/api/servicename/parameter1
http://mysite/api/servicename/parameter1?parameter2=value2
http://mysite/api/servicename/parameter1?parameter2=value2¶meter3=value3
http://mysite/api/servicename/parameter1?parameter2=value2¶meter3=value3&p4=v4
Las últimas 3 URL funcionan, pero la primera dice "No se encontró ninguna acción en el controlador ''nombre del controlador'' que coincida con la solicitud".
Mi controlador se ve así:
public class MyServiceController : ApiController
{
[Route("api/servicename/{parameter1}")]
[HttpGet]
public async Task<ReturnType> Get(string parameter1, DateTime? parameter2, string parameter3 = "", string p4 = "")
{
// process
}
}
Web API requiere establecer explícitamente valores opcionales incluso para tipos que aceptan nulos ... para que pueda intentar configurar lo siguiente y debería ver su primera solicitud tener éxito
DateTime? parameter2 = null