Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法更改.NET MVC WebApi操作的默认ActionVerb?_C#_Asp.net Mvc_Asp.net Web Api - Fatal编程技术网

C# 有没有办法更改.NET MVC WebApi操作的默认ActionVerb?

C# 有没有办法更改.NET MVC WebApi操作的默认ActionVerb?,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,根据,在动作选择一节中,它指出: 如果以上都没有,则该方法支持POST 有没有办法更改此默认行为以将HttpGet用作操作的默认ActionVerb?您链接的文档引用了一个IHttpActionSelector。SelectAction方法是操作选择的来源,而ApiControllerActionSelector是默认实现 如果您查看,您可以看到确实是ApiControllerActionSelector类。如果查看该ApiControllerActionSelector实现,您可以看到它认为每

根据,在动作选择一节中,它指出:

  • 如果以上都没有,则该方法支持POST

  • 有没有办法更改此默认行为以将HttpGet用作操作的默认ActionVerb?

    您链接的文档引用了一个
    IHttpActionSelector。SelectAction
    方法是操作选择的来源,而
    ApiControllerActionSelector
    是默认实现

    如果您查看,您可以看到确实是
    ApiControllerActionSelector
    类。如果查看该
    ApiControllerActionSelector
    实现,您可以看到它认为每个方法都是有效路由。然后,当您查看ReflectedHttpActionMethod时,所有其他用于识别替代动词的文档化策略都失败了

    因此,为了回答您的问题,您可以编写一个新的
    IHttpActionSelector
    实现,它返回一个
    HttpActionDescriptor
    ,该描述符使用的默认行为与您在
    ApiControllerActionSelector
    中找到的不同

    或者,您可以应用
    [HttpGet]
    属性和/或使用“Get”前缀命名操作并将其命名为day