【发布时间】:2018-09-20 01:47:39
【问题描述】:
我有一个 .Net Core 2 Api。一些控制器(UserController、CarController)。如果我启动 Api,我可以浏览到 UserController,它会向我显示用户列表,完美! 当我浏览到 CarController 时,它给了我一个错误:
找不到此本地主机页面 没有找到该网络的网页 地址:http://localhost:57880/Car 谷歌搜索 localhost 57880 汽车 HTTP 错误 404
每个控制器都有一个路由名称。所以我将 CarController 的路由名称更改为“DummyTest”。我重新启动了 API,浏览到 DummyTest,它可以工作了!用户仍然正常工作。 为什么?...我似乎无法弄清楚为什么“Car”会给出 404 并且具有不同路线的相同控制器(DummyTest)可以工作。
我在 StackOverflow 上找到了这个:ASP.NET Core This localhost page can’t be found,但这对我来说不是解决办法。
编辑
这是给出 404 的控制器的代码:
[Route("Car")]
public class CarController : Controller
{
private readonly ICarService _carService;
public CarController(ICarService carService)
{
_carService= carService;
}
[HttpGet]
public List<Car> Get()
{
return _carService.GetCars().ToList();
}
}
下面是控制器的代码:
[Route("User")]
public class UserController : Controller
{
private readonly IUserService _userService;
public UserController(IUserService userService)
{
_userService = userService;
}
[HttpGet]
public List<User> Get()
{
return _userService.GetUsers().ToList();
}
}
【问题讨论】:
-
添加控制器和路由的代码示例。你也使用命名约定吗?
-
@J.Doe 查看我的编辑
标签: c# error-handling routing .net-core asp.net-core-mvc