gpt4 book ai didi

c# - WebApi 中的默认 HTTP 动词是什么?获取还是发布?

转载 作者:可可西里 更新时间:2023-11-01 16:24:04 26 4
gpt4 key购买 nike

只是古玩。我正在查看 Internet 上的一个 Web 项目。

代码流程是这样的:

[RoutePrefix("/person")]
public class PersonController : ApiController
{

//....
[Route("/register")]
public IHttpACtionResult RegisterPerson(PersonDto personDto)
{
//....
}
//....
}

你注意到上面的代码了吗?没有指定 [HttpGet()][HttpPost()]。然而,上面的代码对于 GET 调用失败,但对于 POST 调用有效。

知道如何解析此方法的 HTTP-Verb 吗?

注意:我知道如果方法名以GETPOST 开头,则相应地通过HTTPGet 调用该方法HTTP 邮寄。但是这里的方法名以Register...开头。

知道这是如何工作的吗?

最佳答案

如果方法名称不匹配任何 HTTPVerb,则默认为 [HTTPPost]。

Action 选择通过 ReflectedHttpActionDescriptor 类的 GetSupportedHttpMethods() 发生。

请引用以下链接中的代码: https://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Http/Controllers/ReflectedHttpActionDescriptor.cs

 if (supportedHttpMethods.Count == 0)
{
// Use POST as the default HttpMethod
supportedHttpMethods.Add(HttpMethod.Post);
}

关于c# - WebApi 中的默认 HTTP 动词是什么?获取还是发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35797726/

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