与Web API应用程序中的控制器名称不同的路由模板

时间:2019-06-29 12:05:05

标签: c# asp.net-mvc asp.net-web-api

我是ASP.NET Web应用程序中WebAPI的新手,我正在关注一个YouTube教程,该教程没有解决这种混乱,我会说混乱,因为它本身并不是错误。

所以我正在使用MVC实体框架制作一个简单的WEB API。我拥有的数据库模型名称为DBModel.cs,另一个名为Employeetbl.cs的文件也与我在ADO.NET文件中提到的数据库内部表的名称相同,控制器名称为{ {1}}。

现在在EmpController.cs里面,我有这样的东西

EmpController.cs

api行是public class EmpController : ApiController { private EmployeeDBEntities db = new EmployeeDBEntities(); // GET: api/Emp public IQueryable<Employeetbl> GetEmployeetbls() { return db.Employeetbl; } ,不应该是api/Emp。 我是在做错什么,还是必须手动更改? 谢谢。

1 个答案:

答案 0 :(得分:0)

很难回答您的问题,因为您需要阅读更多有关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/..")]之类的某些属性可用于为操作创建更好的路由。

无论如何,this link can help you to learn about Web API routing

我希望此链接可以为您提供帮助。