与 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。我做错了什么,还是必须手动更改?谢谢。


郎朗坤
浏览 100回答 1
1回答

犯罪嫌疑人X

回答您的问题有点困难,因为您需要阅读更多有关 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/..")]可用于为操作创建更好的路由。
打开App,查看更多内容
随时随地看视频慕课网APP