POSTリクエスト

JumpKick.HttpLib — POSTリクエスト

1. 使用可能なリクエストメソッド一覧(Http静的クラス)

// 各メソッドはRequestBuilderのフルーエントオブジェクトを返します
Http.Get(url);
Http.Post(url);
Http.Put(url);
Http.Delete(url);
Http.Patch(url);
Http.Head(url);Code language: JavaScript (javascript)

共通のメソッドチェーン:リクエスト種別().パラメータ設定().OnSuccess().OnFail().Go();

2. POSTの2種類のパラメータ送信形式

  1. .Form():フォーム送信 Content‑Type: application/x‑www‑form‑urlencoded(Webフォーム形式)
  2. .Body():生のペイロード。JSON / XML / SOAPの独自メッセージに使用

3.サンプル1: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("==== POSTフォーム リクエスト成功 ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== リクエスト例外発生 ====");
            Console.WriteLine(webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Code language: JavaScript (javascript)

4.サンプル2:BodyでJSONを送信

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") // ペイロード本体 + MIMEタイプ指定
        .OnSuccess(result =>
        {
            Console.WriteLine("==== POST‑JSON リクエスト成功 ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== リクエスト例外発生 ====");
            Console.WriteLine(webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Code language: JavaScript (javascript)

5.サンプル3:POST失敗時の処理

POSTに対応していないエンドポイントを呼び出し、405エラーを捕捉しOnFailの動作を確認します

using System;
using JumpKick.HttpLib;

class Program
{
    static void Main(string[] args)
    {
        // httpbin.org/getはGETのみ許可、POST送信時405が返ります
        Http.Post("https://httpbin.org/get")
        .Form(new
        {
            test = "demo"
        })
        .OnSuccess(result =>
        {
            Console.WriteLine("==== リクエスト成功 ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== リクエスト例外(405捕捉済み) ====");
            Console.WriteLine(webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Code language: JavaScript (javascript)

6.よくあるエラーの解説

エラー:リモートサーバーがエラーを返しました: (405) メソッドは許可されていません。

原因:対象APIがGETのみ受け付け、POSTを拒否しています


対処法:

  1. POSTに対応したテスト用エンドポイントへ変更(推奨:httpbin.org/post)
  2. APIが許可するHTTPメソッドを確認する

7.GET / POST 比較まとめ

方式関数パラメータ形式利用シーン
GETHttp.Get()URLクエリパラメータデータ取得・照会
POST フォームHttp.Post().Form()フォームキーバリューWebログイン、フォーム送信
POST JSONHttp.Post().Body()生文字列ペイロードフロント・バックエンドAPI通信

POSTリクエスト

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です