我在理解一些HTML时遇到了一些麻烦,并且希望SO能够帮助我弄清楚发生了什么,以便我将来能够自己做到这一点。
标记很简单:
<p>
GET <a href="~/api/function">/api/function</a>: returns list of info from database.
</p>
现在,这完全有效,我正在努力了解发生了什么。我的理解是,这将转到根目录,找到一个名为api的文件夹,找到一个名为function的函数并运行它。
问题是没有名为api的文件夹 - 所以可能会发生什么?我可以找到实际被调用的C#函数来从数据库中检索项目,但我无法弄清楚调用它的代码是如何构造的。我有一个扩展DbContext来检索信息的类,但是当我插入一个断点时,我看不出它是如何被调用的,并且它不在调用堆栈中。
任何人都可以向我提供一些有关我如何对此有所了解的信息吗?
(对于非常一般性的问题道歉,当我开始了解实际情况时,我将提供更多细节!)
答案 0 :(得分:2)
实际上不需要api
文件夹。它可以是配置的简单路由,将某个URI方案映射到某些文件。它甚至不必是文件,它可以是类的方法。
例如,在ASP.NET Web API中,您有ApiController
个类和方法。在您的情况下,该方法将被称为Function
或GetFunction
或类似
路由配置包含类似的内容:
routes.MapHttpRoute("SomeRoute",
"api/{action}",
new { controller = "YourController", action = "Index" });
答案 1 :(得分:0)
"~/api/function"
不一定是文件系统中的实际文件夹。它可以是您的网络服务器配置中定义的虚拟路径,例如web.xml
中的tomcat
。