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);
    }

}

0 ответов

Другие вопросы по тегам