Aspnetcore: ¿Puedo usar áreas en los proyectos principales de la API web de Asp.net?

Creado en 19 ene. 2019  ·  3Comentarios  ·  Fuente: dotnet/aspnetcore

Estoy trabajando en un proyecto que es un proyecto de API web principal de Asp.net. La mayoría de mis proyectos los hice con Asp.net MVC y Core MVC, pero haría un nuevo proyecto basado en Core Web API. en Core MVC tenemos el concepto de Áreas de que podemos crear una parte de Áreas para administración, etc. Pero quiero saber ¿Podemos usar Áreas en los proyectos principales de API web de Asp.net? Si es así, ¿cómo puedo hacerlo? Si estás pensando en que hay una mejor manera, dímelo, por favor.

area-mvc

Comentario más útil

Puede colocar sus controladores API en un Área, solo para agruparlos. Pero básicamente proporciona la ruta en el controlador, por lo que puede crear diferentes rutas usted mismo:
[Route("api/myarea/v1/[controller]")]

Todos 3 comentarios

Puede colocar sus controladores API en un Área, solo para agruparlos. Pero básicamente proporciona la ruta en el controlador, por lo que puede crear diferentes rutas usted mismo:
[Route("api/myarea/v1/[controller]")]

Tengo el mismo problema que probé colocando mi ApiController debajo de mi área para que la estructura se vea como a continuación

Aquí está el controlador Api dentro

Áreas/GL/Controladores

[Area("GL")] [Route("api/[controller]")] [ApiController] [HttpGet] public IActionResult Get() { return Ok("api controller"); }

Pero cuando accedo a mi URL
http://hostlocal :48357/GL/Api/Get
O
http://hostlocal :48357/Api/GL/Get
o
http://localhost :48357/Api/Obtener
yo obtengo

Código de estado: 404; Extraviado

Aquí está el código en

Inicio.cs

routes.MapAreaRoute( name: "AreaGL", areaName: "GL", template: "GL/{controller=Home}/{action=Index}/{id?}" );

Por favor, ayúdenme con este problema, ¿qué estoy haciendo mal aquí?

Gracias por contactarnos, @farhadibehnam.
Para que los controladores estén en áreas, debe aplicar la restricción de ruta {area:exists} en su ruta de atributos, como se describe en https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/areas? ver = aspnetcore-2.2.

¿Fue útil esta página
0 / 5 - 0 calificaciones