c# - 与 Web API 应用程序中的控制器名称不同的路由模板
问题描述
我是 ASP.NET Web 应用程序中 WebAPI 的新手,我正在关注一个没有解决这种混淆的 YouTube 教程,我会说混淆,因为它本身不是错误。
所以我正在使用 MVC 实体框架制作一个简单的 WEB API。我拥有的数据库模型名称是DBModel.cs
另一个文件Employeetbl.cs
,它也与我在 ADO.NET 文件中提到的数据库中的表同名,控制器名称是EmpController.cs
.
现在里面EmpController.cs
我有这样的东西
public class EmpController : ApiController
{
private EmployeeDBEntities db = new EmployeeDBEntities();
// GET: api/Emp
public IQueryable<Employeetbl> GetEmployeetbls()
{
return db.Employeetbl;
}
api 行是api/Emp
,不应该是api/Employeetbl
。我做错了什么,还是我必须手动更改?谢谢。
解决方案
回答您的问题有点困难,因为您需要阅读更多关于 WEB API 和 Web API 路由的内容。api/Emp
提到您的控制器名称而EmpController
不是您的类名称。Employeetbl
它只是您从GetEmployeetbls
操作中返回的一个类。看到这个代码
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
它是路由配置和一些属性,例如[Route("api/..")]
或[RoutePrefix("api/..")]
可用于为操作制定更好的路由。
我希望这个链接可以帮助你。
推荐阅读
- java - 枚举 NullPointerException Java
- javascript - 是否可以在 Vuex/(Vue 数据) 中存储自定义类的实例?
- ios - 如何正确跳过 2 ViewController
- java - 两个不同的处理器写入 Java Spring 批处理中的单个写入器
- html - 是否可以使用 Google Cloud 限制对静态 html 网络文件的访问?
- python - decimal.Decimal 作为默认类型而不是 float
- python - 为什么我在尝试打印此变量时得到 Nan 值?
- javascript - 我需要结合 2 个功能来消除 IFRAME 重新加载时的白色闪光
- java - 如何将java中的where子句解析为弹性查询
- php - 安装后无法登录phpmyadmin