gpt4 book ai didi

asp.net-web-api - 带有 PUT 或 PATCH 动词的 ASP.NET 5 + MVC 6 + Web API Controller 返回 404 错误

转载 作者:行者123 更新时间:2023-12-02 09:46:49 24 4
gpt4 key购买 nike

我有一个在 MVC 6(beta 3)中内置的基本 Web API Controller ,作为新 ASP.NET 项目的一部分。我遇到的问题是,它不接受动词 PUT 或 PATCH,并且每当我尝试使用这些方法访问 URL 时都会返回错误 404。

这是我的基本测试:

namespace Test.Controllers
{
[Route("api/test")]
public class TestController : Controller
{
[HttpGet]
public string TestGet()
{
return "Hello from GET!";
}

[HttpPost]
public string TestPost()
{
return "Hello from POST!";
}

[HttpDelete]
public string TestDelete()
{
return "Hello from DELETE!";
}

[HttpPut]
public string TestPut()
{
return "Hello from PUT!";
}

[HttpPatch]
public string TestPatch()
{
return "Hello from PATCH!";
}
}
}

访问http://localhost/api/test使用“Postman”检查每个动词(GET、POST、DELETE、PUT 和 PATCH)的 URL 依次适用于 GET、POST 和 DELETE,但使用 PUT 和 PATCH 会给出 404。

编辑:我记得有一种方法可以为 MVC5 及更低版本启用这些动词,其中包括禁用 WebDAV 并通过 web.config 添加这两个动词的处理程序。 ,但因为不存在 web.config 这样的东西在 ASP.NET 5 中我完全不知道如何解决这个问题。我假设它可能通过 config.json 解决但我所有的搜索尝试都没有返回任何有用的结果!

我以前用 MVC5 开发的网站没有这个问题,并且查看了 web.config文件中似乎没有任何内容可以禁用 WebDAV(它实际上已被卸载)或允许处理无扩展 URL 的 PUT/PATCH 方法。所以我认为我之前写的内容并不适用。

有什么想法吗?

谢谢

最佳答案

仅从应用程序的 .NET 和 ASP.net 部分删除了 web.config 支持。如果您的应用程序托管在 IIS 中,您仍然需要 web.config,就像 Web API 一样。

关于asp.net-web-api - 带有 PUT 或 PATCH 动词的 ASP.NET 5 + MVC 6 + Web API Controller 返回 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28842587/

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