【C#.NET解説】HttpClientクラスでGET、POST、PUT、DELETEの簡単な実装 太陽神から学ぶHTTP通信講座(第3回)

2024年11月22日金曜日

http通信

t f B! P L

名前空間 System.Net.Http

HttpClient

自己紹介

おお、そなたたち、光を求めてここに来たのだな。天と地の間を照らす光の神だ。今日、そなたたちに授ける知識は GET、POST、PUT、DELETEといったHTTPリクエストを簡単に使いこなせるよう今日は私がその基本的な使い方を直感的に解説していくぞ。

太陽神 HttpClientクラス から学ぶ!HTTP通信講座

GETリクエストの実装例

GETメソッドは、最初にも紹介しているがおさらいだ。指定されたURLからデータを取得するために使う。

C#
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    private static readonly HttpClient client = new HttpClient();

    static async Task Main(string[] args)
    {
        var url = "https://jsonplaceholder.typicode.com/posts/1";

        // GETリクエストを送信
        var response = await client.GetAsync(url);

        // レスポンスが成功したかどうかを確認
        if (response.IsSuccessStatusCode)
        {
            // レスポンス内容を読み取り表示
            var responseData = await response.Content.ReadAsStringAsync();
            Console.WriteLine("レスポンスデータ: " + responseData);
        }
        else
        {
            // エラーステータスコードを表示
            Console.WriteLine("エラー: " + response.StatusCode);
        }
    }
}
 

POSTリクエストの実装例

POSTメソッドは、新しいデータをサーバーに送信する際に使用する。データは通常JSON形式で送信がxml形式で示している。

C#

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    private static readonly HttpClient client = new HttpClient();

    static async Task Main(string[] args)
    {
        var url = "https://jsonplaceholder.typicode.com/posts";

        // POSTリクエストで送信するデータ(XML形式)
        var xml = "foobar1";
        var content = new StringContent(xml, Encoding.UTF8, "application/xml");

        // POSTリクエストを送信
        var response = await client.PostAsync(url, content);

        // レスポンスが成功したかどうかを確認
        if (response.IsSuccessStatusCode)
        {
            // レスポンス内容を読み取り表示
            var responseData = await response.Content.ReadAsStringAsync();
            Console.WriteLine("レスポンスデータ: " + responseData);
        }
        else
        {
            // エラーステータスコードを表示
            Console.WriteLine("エラー: " + response.StatusCode);
        }
    }
}

 

PUTリクエストの実装例

PUTメソッドは既存データを更新する際に使用される。以下はデータを更新するコードだ。

C#

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    private static readonly HttpClient client = new HttpClient();

    static async Task Main(string[] args)
    {
        var url = "https://jsonplaceholder.typicode.com/posts/1";

        // PUTリクエストで送信するデータ(XML形式)
        var xml = "updated titleupdated body1";
        var content = new StringContent(xml, Encoding.UTF8, "application/xml");

        // PUTリクエストを送信
        var response = await client.PutAsync(url, content);

        // レスポンスが成功したかどうかを確認
        if (response.IsSuccessStatusCode)
        {
            // レスポンス内容を読み取り表示
            var responseData = await response.Content.ReadAsStringAsync();
            Console.WriteLine("レスポンスデータ: " + responseData);
        }
        else
        {
            // エラーステータスコードを表示
            Console.WriteLine("エラー: " + response.StatusCode);
        }
    }
}

 

DELETEリクエストの実装例

DELETEメソッドはデータを削除する際に使う。以下はその例だ。

C#

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    private static readonly HttpClient client = new HttpClient();

    static async Task Main(string[] args)
    {
        var url = "https://jsonplaceholder.typicode.com/posts/1";

        // DELETEリクエストを送信
        var response = await client.DeleteAsync(url);

        // レスポンスが成功したかどうかを確認
        if (response.IsSuccessStatusCode)
        {
            // 削除が成功したことを表示
            Console.WriteLine("データ削除が成功しました。");
        }
        else
        {
            // エラーステータスコードを表示
            Console.WriteLine("エラー: " + response.StatusCode);
        }
    }
}

 

解説

GET、POST、PUT、DELETEはそれぞれ異なる目的を持つHTTPメソッドで、サーバーとの通信を効果的に管理するための基盤を提供する。これらを正しく理解することで、HttpClientを活用してさまざまなデータ操作が可能になる。光のごとく、これらの方法でWeb開発の闇を照らしていけ!

このブログを検索

QooQ