gpt4 book ai didi

c# - HTTP POST 方法在 WebApi 上被视为 GET

转载 作者:太空狗 更新时间:2023-10-29 21:01:10 25 4
gpt4 key购买 nike

我一直在创建一个 WebApi Controller ,我正在尝试使用 HttpPost 请求提交新用户进行注册。这在我的本地主机上运行良好,但是当我将它发布到 Azure 时,我收到一个 405 方法不允许的错误消息:“请求的资源不支持 http 方法‘GET’”。

我是用postman来检查 Action 的,所以我用generate code来查看请求,如下:

POST /api/account/register/student HTTP/1.1
Host: www.l3cture.com
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 27c1b2ab-96ad-4a99-b271-4030402768e7

所以我可以清楚地看到请求是一个POST。下面是带有属性的 Controller 操作代码(我目前已经对其进行了简化,因此没有发布任何模型,并且会发生相同的行为)

[HttpPost]
[Route("register/student")]
[AllowAnonymous]
public async Task<IHttpActionResult> PostStudent(/*RegisterStudent model*/)
{
//Implementation of register
return Ok();
}

我已经检查了属性的命名空间,它是 System.Web.Http,所以它不会与 MVC 命名空间混淆。

有趣的是,当我将方法更改为 HttpGet,并使用 postman 向其发送 POST 时,我收到状态 200。这几乎就像 HttpPost 请求都被我的 Controller 像 HttpGet 一样对待。

我在其他地方使用过 HttpPut 和 HttpDelete,它们都工作正常。

我不确定如何解决这个问题,想知道是否有人有任何想法?如果我需要发布更多代码以进行说明,请告诉我。

提前致谢

最佳答案

原来我使用的是 Http,而不是 Https。

关于c# - HTTP POST 方法在 WebApi 上被视为 GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38923009/

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