Requisições POST

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

  1. .Form(): Envio de formulário Content‑Type: application/x‑www‑form‑urlencoded (formato de formulário web)
  2. .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:

  1. Troque por um endpoint de teste compatível com POST (recomendado httpbin.org/post)
  2. Verifique quais métodos HTTP são permitidos pela API

7. Resumo comparativo principal entre GET / POST

MétodoFunçãoModo de envio de parâmetrosCenários de uso
GETHttp.Get()Parâmetros na URLConsultar dados
POST FormulárioHttp.Post().Form()Pares chave‑valor de formulárioLogin web, envio de formulários
POST JSONHttp.Post().Body()Texto brutoComunicação entre API frontend e backend

Requisições POST

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *