Preciso verificar o RequestType
de um HttpRequest
no ASP.NET (ou WebRequest.Method
). Eu sei que posso apenas usar os valores de string " POST
" ou " GET
" para o tipo de solicitação, mas poderia jurar que havia uma constante em alguma classe do .NET que continha os valores.
Por curiosidade, eu queria saber se alguém sabia em que classe essas constantes de string estavam GET
e POST
estavam. Tentei pesquisar online, mas não tive sorte, então pensei em perguntar aqui.
PATCH
verbo também está faltando.Também existe o
System.Net.Http.HttpMethod
que pode servir em vez de enum. Você pode compará-losaMethod == HttpMethod.Get
, etc. Para obter o nome do método de string, chame, por exemploHttpMethod.Get.Method
.fonte
void Request(HttpMethod method = HttpMethod.Get)
).HttpMethod.Get.Method
NÃO é uma constante de tempo de compilação :( ondeSystem.Net.WebRequestMethods.Http
estão as constantesNa ASP.NET MVC, eles estão em System.Web.Mvc.HttpVerbs . Mas todos os métodos que usam um desses valores enum também têm uma substituição de texto, pois não há um conjunto completo de verbos HTTP, apenas um conjunto de valores atualmente definidos (veja aqui e aqui e aqui ).
Você não pode criar uma enumeração que cubra todos os verbos, pois existe a possibilidade de que verbos possam ser adicionados e as enumerações têm problemas de versão que tornam isso impraticável.
fonte
No ASP.NET Core, você encontrará uma coleção de strings de método http na classe HttpMethods.cs no
Microsoft.AspNetCore.Http
namespace.Esta classe também oferece auxiliares booleanos como
IsGet()
ouIsPost()
para melhor semântica.Observe que essas strings são expostas como
public static readonly string
e não comoconstants
.fonte