Usuário com melhor resposta
Alterar URL na api

Pergunta
-
Olá a todos,
tenho alguns métodos de busca e gostaria de saber como alterar a URL de acesso para poder testar via POSTMAN, segue código:
public class OHEMController : ApiController { ////////////// O GET Nº4 /////////////////////// private BRWAdmPanelEntities db = new BRWAdmPanelEntities(); // GET: api/OHEM public IQueryable<OHEM> GetOHEM() { return db.OHEM; } // GET: api/OHEM/5 [ResponseType(typeof(OHEM))] public IHttpActionResult GetOHEM(int id) { OHEM oHEM = db.OHEM.Find(id); if (oHEM == null) { return NotFound(); } return Ok(oHEM); } // GET: api/OHEM/?a={a} [ResponseType(typeof(OHEM))] public IHttpActionResult GetEmail(String a) { var teste = (from c in db.OHEM where c.pager == a select c.email); return Ok(teste); } ///////////////////////AQUI//////////////////////////////// // GET: api/OHEM/QUERO ALTERAR AQUI [ResponseType(typeof(OHEM))] public IHttpActionResult GetOrderby() { var teste = (from c in db.OHEM orderby c.empID descending select c.email ); return Ok(teste); }
Grato!
- Editado Douglas Souza05 quinta-feira, 11 de julho de 2019 11:27 alteração de titulo
Respostas
-
Olá Douglas,
Você pode mudar via atributo de roteamento [Route]
Att
- Marcado como Resposta Douglas Souza05 segunda-feira, 19 de agosto de 2019 18:59
Todas as Respostas
-
Olá Douglas,
Você pode mudar via atributo de roteamento [Route]
Att
- Marcado como Resposta Douglas Souza05 segunda-feira, 19 de agosto de 2019 18:59
-
Olá Douglas, bom dia!
Complementando a resposta do Eliézer Zarpelão você deve verificar no seu arquivo global.asax se há no procedimento Application_Start() a seguinte execução RouteConfig.RegisterRoutes(RouteTable.Routes);. Esse procedimento é um arquivo que fica na pasta App_Start em um arquivo chamado RouteConfig.cs. Nele há uma classe com a seguinte codificação:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}Se não tiver assim, crie esse arquivo e inclua estes códigos. O procedimento routes.MapMvcAttributeRoutes(); é o responsável por fazer o que o Eliézer Zarpelão comentou ai no seu post. Depois no controller que você quiser fazer com que seja chamado por outro nome você inclui a tag [RoutePrefix("Nome-Controller-Aqui")] acima do nome da classe e na action que você quer renomear você inclui [Route("nome-da-action-que-você-quer-colocar")]. Fazendo tudo como comentado você chamaria a action do seu controller na aplicação assim: localhost/Nome-Controller-Aqui/nome-da-action-que-você-quer-colocar e voilá, sua aplicação iria, teoricamente, e se você compilou sem erros, chamar os procedimento executados como você quer.