c# - 尝试折射控制器 - 在 api 调用中不断收到 404 错误
问题描述
我以前只使用默认创建的 SampleData 控制器。添加了我的方法,一切都很完美。创建了一个新类,粘贴了我希望的方法(拆分两个模型),编辑了我调用它们的方法,现在我得到了 404。
class MakeController : Controller
{
private readonly IVehicleService _vehicleService;
public MakeController(IVehicleService vehicleService)
{
_vehicleService = vehicleService;
}
[Route("api/[controller]/Makes")]
[HttpGet("[action]")]
public async Task<IActionResult> MakesAsync()
{
var data = await _vehicleService.GetMakeAsync(0, 10);
return Ok(data);
}
那将是控制器和方法之一。
GetMakes() {
return this.http.get<Makes[]>(this.baseUrl + 'api/Make/Makes');
}
在这里我调用了 api,它曾经可以工作,但现在它只是出错了。startup.cs 中的路由默认保留。
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
解决方案
从您发布的代码中,您可能在添加新方法时意外删除了访问修饰符,您需要确保您使用的是公共控制器,例如
public class MakeController : Controller
推荐阅读
- javascript - Nodejs代理服务器发送到客户端后无法设置标头
- ios - 如何在 Xcode 中将开发人员添加到我的团队
- mysql - Ansible docker_container: wordpress->mysql 没有路由到主机
- python - 带有if条件的Django查询集过滤器
- sqlite - Floor数据库和Sqlite数据库的区别
- three.js - Three.JS - AudioAnalyser() 在 Safari 中不能将音频源作为流类型使用
- java - 不兼容的类型:int 不能转换为 T
- matlab - 如何计算构造函数被调用的次数?
- pandas - 如何将多索引转换为热图
- amazon-s3 - 使用 fast-csv 将 s3 流式传输到 dynamodb:并非所有数据都插入