JumpKick.HttpLib — Requisições POST
1. Visão geral dos métodos de requisição disponíveis (classe estática Http)
// Todos os métodos retornam um objeto encadeado RequestBuilder
Http.Get(url);
Http.Post(url);
Http.Put(url);
Http.Delete(url);
Http.Patch(url);
Http.Head(url);Code language: JavaScript (javascript)
Estrutura encadeada unificada: MétodoRequisicao().ConfiguracaoParametros().OnSuccess().OnFail().Go();
2. Dois modos de envio de parâmetros no POST
.Form(): Envio de formulárioContent‑Type: application/x‑www‑form‑urlencoded(formato de formulário web).Body(): Corpo bruto, usado para mensagens personalizadas JSON / XML / SOAP
3. Exemplo 1: Envio de formulário com Form
using System;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
Http.Post("https://httpbin.org/post")
.Form(new
{
name = "James",
username = "j6mes"
})
.OnSuccess(result =>
{
Console.WriteLine("==== Requisição de formulário POST bem‑sucedida ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== Falha na requisição ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Code language: JavaScript (javascript)
4. Exemplo 2: Enviar dados JSON usando Body
using System;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
string jsonStr = "{\"account\":\"test\",\"pwd\":\"123456\"}";
Http.Post("https://httpbin.org/post")
.Body(jsonStr, "application/json") // Conteúdo do corpo + definição do tipo MIME
.OnSuccess(result =>
{
Console.WriteLine("==== Requisição POST‑JSON bem‑sucedida ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== Falha na requisição ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Code language: JavaScript (javascript)
5. Exemplo 3: Cenário onde o POST falha
Chamamos intencionalmente um endereço que não aceita POST para capturar o erro 405 e confirmar a execução do OnFail
using System;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
// httpbin.org/get aceita apenas GET, o POST retorna código 405
Http.Post("https://httpbin.org/get")
.Form(new
{
test = "demo"
})
.OnSuccess(result =>
{
Console.WriteLine("==== Requisição bem‑sucedida ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== Falha na requisição (erro 405 capturado) ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Code language: JavaScript (javascript)
6. Análise dos erros mais comuns
Erro: O servidor remoto retornou um erro: (405) Método não permitido.
Causa: A API de destino aceita somente requisições GET e rejeita POST.
Soluções:
- Troque por um endpoint de teste compatível com POST (recomendado httpbin.org/post)
- Verifique quais métodos HTTP são permitidos pela API
7. Resumo comparativo principal entre GET / POST
| Método | Função | Modo de envio de parâmetros | Cenários de uso |
|---|---|---|---|
| GET | Http.Get() | Parâmetros na URL | Consultar dados |
| POST Formulário | Http.Post().Form() | Pares chave‑valor de formulário | Login web, envio de formulários |
| POST JSON | Http.Post().Body() | Texto bruto | Comunicação entre API frontend e backend |
Requisições POST
Previous: Requisições GET
Next: Upload de arquivos