0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WebApi json形式

Posted at
        public class UserApiModel
        {
            [JsonProperty("user_id")]
            public int UserId { get; set; }

            [JsonProperty("user_name")]
            public string UserName { get; set; }
            // 他に必要なプロパティがあれば追加
        }

        public class ErrorResponseModel
        {
            public string ErrorMessage { get; set; }
            // 他に必要なエラープロパティがあれば追加

            public override string ToString()
            {
                return $"ErrorMessage: {ErrorMessage}";
            }
        }

        static async Task Main()
        {
            // HttpClientのインスタンスを作成
            using (HttpClient client = new HttpClient())
            {
                // Web APIのエンドポイントを指定
                string apiUrl = "https://api.example.com/user";

                try
                {
                    // GETリクエストを送信し、応答を取得
                    HttpResponseMessage response = await client.GetAsync(apiUrl);

                    // リクエストが成功したか確認
                    if (response.IsSuccessStatusCode)
                    {
                        // 応答コンテンツを文字列として読み取る
                        string responseData = await response.Content.ReadAsStringAsync();

                        // JSON応答をUserApiModelにデシリアライズ
                        UserApiModel userApiModel = JsonConvert.DeserializeObject<UserApiModel>(responseData);

                        // デシリアライズされたデータを使用
                        Console.WriteLine($"UserID: {userApiModel.UserId}");
                        Console.WriteLine($"UserName: {userApiModel.UserName}");
                        // 他のプロパティも必要に応じて表示または使用

                        // ここでuserApiModelを使って何かを行う
                    }
                    else if (response.StatusCode == HttpStatusCode.BadRequest)
                    {
                        // エラーメッセージを取得
                        string errorResponseData = await response.Content.ReadAsStringAsync();

                        // エラーレスポンスをデシリアライズしてエラーメッセージを取得
                        ErrorResponseModel errorResponse = JsonConvert.DeserializeObject<ErrorResponseModel>(errorResponseData);

                        // エラーメッセージを表示
                        Console.WriteLine($"Error: {response.StatusCode} - {response.ReasonPhrase}");
                        Console.WriteLine($"Error Message: {errorResponse.ErrorMessage}");
                    }
                    else
                    {
                        // その他のエラーハンドリング
                        Console.WriteLine($"Error: {response.StatusCode} - {response.ReasonPhrase}");
                    }
                }
                catch (Exception ex)
                {
                    // 通信エラーなどの例外ハンドリング
                    Console.WriteLine($"Exception: {ex.Message}");
                }
            }
        }
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?