gpt4 book ai didi

asp.net-core - 如何在 ASP.NET Core 中处理 PROPFIND HTTP Verb 请求(或其他)?

转载 作者:行者123 更新时间:2023-12-02 20:58:44 43 4
gpt4 key购买 nike

我正在寻找实现选项,如何使用 ASP.NET Core 或 ASP.NET Core MVC 处理带有更多异国情调的 HTTP 动词(如 PROPFINDMKCOL)的请求。

在 ASP.NET Core MVC 中,您可以使用以下方式装饰您的操作方法

[HttpGet]
[HttpPut]
[HttpPost]
[HttpDelete]
[HttpHead]
[HttpOptions]
[HttpPatch]

对于 REST API 或 Web 应用程序,这些 HTTP 动词就足够了。对于 WebDav,例如 PROPFINDMKCOL 动词也必须以某种方式处理。

是否有可能扩展 ASP.NET Core MVC 以支持比上面列出的更多的 HTTP 动词?或者您认为编写自己的中间件组件是向 ASP.NET Core 应用程序添加 WebDav 功能的更好方法吗?

我查看了 ASP.NET Core 源存储库以获取一些想法。但我被困在当下。

最佳答案

解决方案比我想象的要简单。您可以像这样通过 HTTP 动词调用 Controller 操作

public class WebDavController : Controller
{
[HttpGet]
[Route("/dav/{fileName}")]
public IActionResult Get(string fileName)
{
// a classic Get method
....
}

[Route("/dav/{fileName}")]
public IActionResult Propfind(string fileName)
{
// this is invoked if http verb is PROPFIND
// (framework searches for corresponding action name)
....
}

[AcceptVerbs("LOCK")]
[Route("/dav/{fileName}")]
public IActionResult MyLockAction(string fileName)
{
// this is invoked if http verb is LOCK
// (framework searches annotated action method)
....
}

}

关于asp.net-core - 如何在 ASP.NET Core 中处理 PROPFIND HTTP Verb 请求(或其他)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39332483/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com