OSS探訪GitHubでログイン

.NETからREST・HTTP APIへの要求を組み立て、応答をC#型として扱う

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
9,818
主要言語
C#
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/28
ページ内ナビ

概要

.NETアプリケーションからRESTを含むHTTP APIを呼び出すためのクライアントライブラリです。HttpClientを包み、URLやクエリ、ヘッダー、Cookie、本文の組み立てと、JSON・XMLのシリアライズや逆シリアライズを簡潔に記述できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

要求パラメータと本文を一つのAPIで組み立てる

既定値と要求ごとの値を、クエリ、URLのパス部分、フォーム、添付、本文、ヘッダーとして追加できます。JSONまたはXMLの本文をC#オブジェクトから変換し、Content-Typeなどのヘッダーも設定します。

出典:[3]

応答本文と状態を用途に合う形で受け取る

ExecuteAsync系はRestResponseまたはRestResponse<T>を返し、状態コード、本文、エラー情報を調べられます。GetAsync<T>やPostAsync<T>などは逆シリアライズした値を直接返し、失敗時には例外を送出します。

出典:[2][4]

向いている用途

外部APIごとの型付きクライアントを.NETで実装する

URL構築、認証、要求モデル、応答モデルを型付きクライアントへ閉じ込めたい.NETアプリケーションに向きます。公式ガイドもRestClientを外部へ公開せず、API固有のクライアントで包む構成を勧めています。

出典:[3]

導入前の確認

移行差分と例外方針を導入前に決める

v107以降はAPI表面と挙動が大きく変わっているため、古い利用例から移行する場合は公式移行資料の確認が必要です。HTTP 404はResponseStatus.Completedとして扱われ、実行メソッドによって例外を送出するかが異なります。READMEは単一メンテナーのプロジェクトであることも明記しています。

出典:[2][4][1]

参考にした公式資料

  1. [1]RestSharp 114.0.0 README(2026-10-04)
  2. [2]RestSharp v114 quick start(2026-10-04)
  3. [3]RestSharp v114 basics(2026-10-04)
  4. [4]RestSharp v114 error handling(2026-10-04)
  5. [5]RestSharp 114.0.0 release(2026-10-04)
  6. [6]RestSharp GitHub repository metadata(2026-10-04)
  7. [7]RestSharp 114.0.0 license(2026-10-04)
編集部からの補足

採用判断ではHttpClientを置き換える道具ではなく、その上でAPI呼び出しを組み立てる薄い層として評価してください。戻り値と例外の扱いが実行メソッドで異なるため、チーム内の呼び出し方を揃えることが重要です。

3ステップで試す

  1. 1

    .NET 8の検証プロジェクトを作る

    既存アプリケーションへ影響しない小さなコンソールプロジェクトを作り、以降のコマンドをそのディレクトリで実行します。

    dotnet new console -n RestSharpDemo --framework net8.0 && cd RestSharpDemo
  2. 2

    RestSharp 114.0.0を追加する

    記事と同じ固定版のNuGetパッケージを追加します。

    dotnet add package RestSharp --version 114.0.0
  3. 3

    公開APIへGET要求を送る

    GitHubの公開リポジトリAPIを呼び、HTTP状態コードとRestSharpの応答状態を表示します。認証情報は不要です。

    printf '%s\n' 'using RestSharp;' '' 'using var client = new RestClient("https://api.github.com");' 'var request = new RestRequest("repos/restsharp/RestSharp").AddHeader("User-Agent", "RestSharpDemo");' 'var response = await client.ExecuteGetAsync(request);' 'Console.WriteLine($"{(int)response.StatusCode} {response.ResponseStatus}");' > Program.cs && dotnet run
公式READMEで確認

成長

成長の推移 · 直近30日

9,818 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
11

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
9,818
Forks
2,299
Watchers
414
Open Issues
28
Contributors
266
所有者種別
Organization
主要言語
C#
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/28

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?