Web.api совершает неверное действие
Контроллер Nfce имеет обязательные параметры, которые должны быть переданы на маршруты. Проблема в том, что маршрут из метода "ConsultaRejeitada" никогда не достигается. Все запросы в конечном итоге попадают на первый маршрут. Я полагаю, что возникает путаница с системой маршрутизации, когда она получает текст "Rejeitada", путая этот текст, как если бы это был параметр "chave". У кого-нибудь есть идея, как заставить систему понять, что текст "Rejeitada" должен быть перенаправлен на второй маршрут?
Приведенный ниже URL неверно отображает первый метод http://localhost:61000/api/v1/Nfce/Rs/Documento/Rejeitada?dfePesq.anoEmissaoDfe=2012
[Authorize()]
[RoutePrefix("api/v1/Nfce")]
public class NfceController : ApiController
{
[HttpGet]
[Route(@"{autorizador:alpha:regex(^(?i)\b(Rs|Svrs)\b$)}/Documento/{chave}")]
public NfeEnt Consulta(string autorizador, string chave, [FromUri] DfePesqDto dfePesq)
{
...
return Consulta(dfePesq);
}
[HttpGet]
[Route("{autorizador:alpha:regex(^(?i)\b(Rs|Svrs)\b$)}/Documento/Rejeitada/{chave}/{codInt}")]
public NfeRejeitada ConsultaRejeitada(string autorizador, string chave, int codInt, [FromUri] DfePesqDto dfePesq)
{
...
return ConsultaRejeitada(dfePesq);
}
}