Так что я не уверен, почему, но некоторые моих маршрутов попадают в мой контроллер, но некоторые ловятся и возвращают угловой материал. Я покажу, что я считаю важным, и, возможно, кто-то может показать, что мне не хватает:
startup.cs:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "api",
template: "api/{controller}/{action}/{id?}");
});
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
ThingController.cs:
[ApiController]
[Route("api/thing")]
public class ThingController : ControllerBase
{
[HttpGet]
[Route("get/{id:int}")]
public static Thing Get(int id)
{
return new Thing(id);
}
[HttpGet]
[Route("get-all")]
public async Task<IEnumerable<Thing>> GetAll()
{
return new List<Thing>();
}
}
app-routing.module.ts:
const routes: Routes = [
{
path: 'things',
component: ThingsComponent
},
{
path: 'thing/:id',
component: ThingComponent
},
{
path: '**',
redirectTo: '/things'
}
];
Итак, из моего приложения я вызываю localhost/api/thing/get-all
, и он просто попадает в контроллер, но если я вызываю localhost/api/thing/get/2
, меня обслуживают на странице Angular. Чего мне не хватает, что один делает это, а другой нет? Спасибо.