diff --git a/HttpClientStudy.Core/Class1.cs b/HttpClientStudy.Core/Class1.cs
deleted file mode 100644
index 5fc3f40..0000000
--- a/HttpClientStudy.Core/Class1.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace HttpClientStudy.Core
-{
-    public class Class1
-    {
-
-    }
-}
diff --git a/HttpClientStudy.Core/SimpleHttpClient.cs b/HttpClientStudy.Core/SimpleHttpClient.cs
new file mode 100644
index 0000000..30336fd
--- /dev/null
+++ b/HttpClientStudy.Core/SimpleHttpClient.cs
@@ -0,0 +1,102 @@
+using System.Net.Http.Headers;
+using System.Net.Http.Json;
+using System.Net.Http;
+using System.Net.Mime;
+using System.Net;
+
+namespace HttpClientStudy.Core
+{
+    /// <summary>
+    /// 简单 HttpClient 包装类
+    /// </summary>
+    public class SimpleHttpClient
+    {
+        public string Get(string url)
+        {
+            HttpClient client = new HttpClient();
+            //可以统一设置HttpClient属性:HttpClient可以使用统一设置进行多次请求。
+            //client.BaseAddress = new Uri(url);
+            //client.DefaultRequestHeaders.Add("Accept", "application/json");
+            //client.DefaultRequestVersion = HttpVersion.Version10;
+            //client.DefaultVersionPolicy = HttpVersionPolicy.RequestVersionOrHigher;
+            //client.Timeout = TimeSpan.FromSeconds(60);
+            //client.CancelPendingRequests();
+
+            //只有Send是同步方法,其它全为异步方法。
+
+            //Send同步方法,需要HttpRequestMessage参数
+            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url);
+            var response = client.Send(request);
+
+            response.EnsureSuccessStatusCode();
+            //或者
+            if (response.IsSuccessStatusCode)
+            { 
+                //业务逻辑
+            }
+
+            //状态码
+            if (response is { StatusCode: HttpStatusCode.OK })
+            {
+                //业务逻辑
+            }
+
+            //请求头
+            if(response is { Headers.ETag:null}) 
+            { 
+                //业务逻辑
+            }
+
+            var result = response.Content.ReadAsStringAsync().Result;
+
+            return result;
+        }
+
+        public async Task<string> GetAsync(string url)
+        {
+            HttpClient client = new HttpClient();
+            var response = await client.GetAsync(url);
+
+            response.EnsureSuccessStatusCode();
+
+            var result = await response.Content.ReadAsStringAsync();
+
+            return result;
+        }
+
+        public TResult? GetJson<TResult>(string url)
+        {
+            HttpClient client = new HttpClient();
+
+            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url);
+            var response = client.Send(request);
+
+            response.EnsureSuccessStatusCode();
+            if (response.Content.Headers.ContentType?.MediaType != MediaTypeNames.Application.Json)
+            {
+                throw new HttpRequestException("响应不是 json 格式!");
+            }
+
+            var result = response.Content.ReadFromJsonAsync<TResult>().Result;
+
+            return result;
+        }
+
+        public async Task<TResult?> GetJsonAsync<TResult>(string url)
+        {
+            HttpClient client = new HttpClient();
+
+            var response = await client.GetAsync(url);
+
+            response.EnsureSuccessStatusCode();
+            if (response.Content.Headers.ContentType?.MediaType != MediaTypeNames.Application.Json)
+            {
+                throw new HttpRequestException("响应不是 json 格式!");
+            }
+
+            var result = await response.Content.ReadFromJsonAsync<TResult>();
+
+            return result;
+        }
+    }
+}
diff --git a/HttpClientStudy.UnitTest/Core/SimpleHttpClientTest.cs b/HttpClientStudy.UnitTest/Core/SimpleHttpClientTest.cs
new file mode 100644
index 0000000..20f270c
--- /dev/null
+++ b/HttpClientStudy.UnitTest/Core/SimpleHttpClientTest.cs
@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace HttpClientStudy.UnitTest.Core
+{
+    /// <summary>
+    ///  SimpleHttpClient 测试类
+    /// </summary>
+    public class SimpleHttpClientTest
+    {
+        private readonly ITestOutputHelper _logger;
+        public SimpleHttpClientTest(ITestOutputHelper outputHelper) 
+        {
+            _logger = outputHelper;
+        }
+
+        [Fact]
+        public void Get_Test()
+        {
+            SimpleHttpClient client = new SimpleHttpClient();
+
+            var result = client.Get("http://localhost:5000/api/Simple/GetAccount");
+
+            Assert.NotNull(result);
+            Assert.NotEmpty(result);
+        }
+
+        [Fact]
+        public void Test()
+        {
+            SimpleHttpClient client = new SimpleHttpClient();
+
+            var result = client.GetJson<BaseResult<string>>("http://localhost:5000/api/Simple/GetAccount");
+
+            Assert.NotNull(result);
+            Assert.IsAssignableFrom<BaseResult>(result);
+            Assert.Equal(1, result.Code);
+            Assert.Contains("成功", result.Message);
+            Assert.IsType<string>(result.Message);
+            Assert.NotEmpty(result.Message);
+        }
+
+
+    }
+}
diff --git a/HttpClientStudy.WebApp/.config/dotnet-tools.json b/HttpClientStudy.WebApp/.config/dotnet-tools.json
new file mode 100644
index 0000000..e3cadb9
--- /dev/null
+++ b/HttpClientStudy.WebApp/.config/dotnet-tools.json
@@ -0,0 +1,12 @@
+{
+  "version": 1,
+  "isRoot": true,
+  "tools": {
+    "dotnet-ef": {
+      "version": "8.0.0",
+      "commands": [
+        "dotnet-ef"
+      ]
+    }
+  }
+}
\ No newline at end of file
diff --git a/HttpClientStudy.WebApp/BaseResult.cs b/HttpClientStudy.WebApp/BaseResult.cs
index 0fe2df0..1407778 100644
--- a/HttpClientStudy.WebApp/BaseResult.cs
+++ b/HttpClientStudy.WebApp/BaseResult.cs
@@ -12,7 +12,6 @@ namespace HttpClientStudy.WebApp
         /// </summary>
         public int Code { get; set; }
 
-        /// <summary>
         /// <summary>
         /// 接口返回说明信息
         /// </summary>
@@ -30,11 +29,21 @@ namespace HttpClientStudy.WebApp
     /// <typeparam name="T"></typeparam>
     public class BaseResult<T> : BaseResult
     {
+        /// <summary>
+        /// 创建返回基数
+        /// </summary>
+        /// <param name="data">泛型数据</param>
+        /// <param name="code">编码</param>
+        /// <param name="message">说明信息</param>
+        /// <returns></returns>
         public static BaseResult<T> Create(T? data = default, int code = 0, string message = "")
         {
             return new BaseResult<T> { Data = data, Code = code, Message = message };
         }
 
+        /// <summary>
+        /// 泛型返回核心数据
+        /// </summary>
         public new T? Data { get; set; }
     }
 
@@ -154,7 +163,6 @@ namespace HttpClientStudy.WebApp
         /// <summary>
         /// 创建 泛型异常返回基类
         /// </summary>
-
         public static BaseResult<TData> Exception<TData>(Exception ex, TData? data, int code = 0) 
         {
             return new BaseResult<TData>() { Data = data, Code = code, Message = $"异常:{ex.Message}" };