HTML链接未指向有效文件夹..但它仍然有效
本文关键字:有效 文件夹 HTML 链接 | 更新日期: 2023-09-27 17:57:49
我在理解HTML方面遇到了一些困难,希望SO能在弄清楚发生了什么的过程中帮助我,这样我将来就可以自己做这件事了。
标记很简单:
<p>
GET <a href="~/api/function">/api/function</a>: returns list of info from database.
</p>
现在,这是完全有效的,我正在努力了解发生了什么。我的理解是,这将转到根目录,找到一个名为api的文件夹,找到一种名为function的函数并运行它。
问题是没有一个名为api的文件夹,那么这里可能发生了什么?我可以找到实际被调用以从DB中检索项的C#函数,但我不知道调用它的代码是如何构造的。我有一个扩展DbContext以检索信息的类,但我看不到它是如何被调用的,而且当我插入断点时,它不在调用堆栈上。
有人能给我一些信息,告诉我如何对此有所了解吗?
(对于这个非常笼统的问题,我深表歉意,当我开始了解实际情况时,我会给出更多细节!)
实际上不需要api
文件夹。它可以是一个简单的路由配置,将某个URI方案映射到一些文件。它甚至不一定是文件,它可以是类上的方法。
例如,在ASP.NET Web API中,有带有方法的ApiController
类。在您的情况下,该方法将被称为Function
或GetFunction
或类似方法
路由配置将包含这样的内容:
routes.MapHttpRoute("SomeRoute",
"api/{action}",
new { controller = "YourController", action = "Index" });
有关详细信息,请参阅ASP.NET Web API中的路由介绍。
我建议您也阅读有关ASP.NET WebAPI 的整个系列
"~/api/function"
不需要是文件系统中的实际文件夹。它可以是在Web服务器配置中定义的虚拟路径,如tomcat
中的web.xml
。