diff --git a/HttpClientStudy.Core/HttpClientStudy.Core.csproj b/HttpClientStudy.Core/HttpClientStudy.Core.csproj
index 17a26c4..d8e431a 100644
--- a/HttpClientStudy.Core/HttpClientStudy.Core.csproj
+++ b/HttpClientStudy.Core/HttpClientStudy.Core.csproj
@@ -18,4 +18,8 @@
+
+
+
+
diff --git a/HttpClientStudy.Core/HttpRequests/HttpRequestContents.cs b/HttpClientStudy.Core/HttpRequests/HttpRequestContents.cs
index 4b15b77..e99823b 100644
--- a/HttpClientStudy.Core/HttpRequests/HttpRequestContents.cs
+++ b/HttpClientStudy.Core/HttpRequests/HttpRequestContents.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace HttpClientStudy.Core.HttpRequests
+namespace HttpClientStudy.Core.HttpRequests
{
///
/// Http 请求内容
diff --git a/HttpClientStudy.Core/HttpRequests/HttpRequestParameters.cs b/HttpClientStudy.Core/HttpRequests/HttpRequestParameters.cs
index 13307b1..951cd6f 100644
--- a/HttpClientStudy.Core/HttpRequests/HttpRequestParameters.cs
+++ b/HttpClientStudy.Core/HttpRequests/HttpRequestParameters.cs
@@ -8,8 +8,30 @@ namespace HttpClientStudy.Core.HttpRequests
{
///
/// Http 请求参数
+ ///
+ /// -
+ /// Url 参数
+ /// 参数拼接在请求的Url中
+ ///
+ /// -
+ /// 路由参数
+ /// 参数在请求路由中
+ ///
+ /// -
+ /// 请求头参数
+ /// 参数在请求头中
+ ///
+ /// -
+ /// 请求体参数
+ /// 参数在请求体中
+ ///
+ ///
///
+ ///
+ /// 请求体参数,
放入单独类
+ ///
public class HttpRequestParameters
{
+
}
}
diff --git a/HttpClientStudy.Core/UseJsonInHttp.cs b/HttpClientStudy.Core/UseJson/UseJsonInHttp.cs
similarity index 85%
rename from HttpClientStudy.Core/UseJsonInHttp.cs
rename to HttpClientStudy.Core/UseJson/UseJsonInHttp.cs
index 7ee91ab..1216030 100644
--- a/HttpClientStudy.Core/UseJsonInHttp.cs
+++ b/HttpClientStudy.Core/UseJson/UseJsonInHttp.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace HttpClientStudy.Core
+namespace HttpClientStudy.Core.UseJson
{
///
/// Http中使用Json
diff --git a/HttpClientStudy.Model/BaseResult.cs b/HttpClientStudy.Model/BaseResult.cs
new file mode 100644
index 0000000..5858836
--- /dev/null
+++ b/HttpClientStudy.Model/BaseResult.cs
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace HttpClientStudy.Model
+{
+ ///
+ /// API 返回基类
+ ///
+ public class BaseResult
+ {
+ ///
+ /// 接口返回代码
+ ///
+ public int Code { get; set; }
+
+ ///
+ /// 接口返回说明信息
+ ///
+ public string? Message { get; set; }
+
+ ///
+ /// 接口返回数据
+ ///
+ public object? Data { get; set; } = string.Empty;
+ }
+
+ ///
+ /// API 泛型返回基类
+ ///
+ ///
+ public class BaseResult : BaseResult
+ {
+ ///
+ /// 创建返回基数
+ ///
+ /// 泛型数据
+ /// 编码
+ /// 说明信息
+ ///
+ public static BaseResult Create(T? data = default, int code = 0, string message = "")
+ {
+ return new BaseResult { Data = data, Code = code, Message = message };
+ }
+
+ ///
+ /// 泛型返回核心数据
+ ///
+ public new T? Data { get; set; }
+ }
+}
diff --git a/HttpClientStudy.WebApp/BaseResult.cs b/HttpClientStudy.Model/BaseResultUtil.cs
similarity index 68%
rename from HttpClientStudy.WebApp/BaseResult.cs
rename to HttpClientStudy.Model/BaseResultUtil.cs
index 1407778..018d936 100644
--- a/HttpClientStudy.WebApp/BaseResult.cs
+++ b/HttpClientStudy.Model/BaseResultUtil.cs
@@ -1,52 +1,11 @@
-using System.Linq.Expressions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
-namespace HttpClientStudy.WebApp
+namespace HttpClientStudy.Model
{
- ///
- /// API 返回基类
- ///
- public class BaseResult
- {
- ///
- /// 接口返回代码
- ///
- public int Code { get; set; }
-
- ///
- /// 接口返回说明信息
- ///
- public string? Message { get; set; }
-
- ///
- /// 接口返回数据
- ///
- public object? Data { get; set; } = string.Empty;
- }
-
- ///
- /// API 泛型返回基类
- ///
- ///
- public class BaseResult : BaseResult
- {
- ///
- /// 创建返回基数
- ///
- /// 泛型数据
- /// 编码
- /// 说明信息
- ///
- public static BaseResult Create(T? data = default, int code = 0, string message = "")
- {
- return new BaseResult { Data = data, Code = code, Message = message };
- }
-
- ///
- /// 泛型返回核心数据
- ///
- public new T? Data { get; set; }
- }
-
///
/// API返回基类 工具类
///
@@ -55,7 +14,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型返回基类
///
- public static BaseResult Create(TData data, int code = 0, string message = "")
+ public static BaseResult Create(TData data, int code = 0, string message = "")
{
return new BaseResult() { Data = data, Code = code, Message = message };
}
@@ -63,7 +22,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型成功返回基类
///
- public static BaseResult Success()
+ public static BaseResult Success()
{
return Success(default, 1, "成功");
}
@@ -79,7 +38,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型成功返回基类
///
- public static BaseResult Success(TData? data, string message)
+ public static BaseResult Success(TData? data, string message)
{
return Success(data, 1, message);
}
@@ -87,7 +46,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型成功返回基类
///
- public static BaseResult Success(TData? data, int code, string message)
+ public static BaseResult Success(TData? data, int code, string message)
{
return new BaseResult() { Data = data, Code = code, Message = message };
}
@@ -95,7 +54,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型错误返回基类
///
- public static BaseResult Error()
+ public static BaseResult Error()
{
return Error(default, 0, "错误");
}
@@ -103,7 +62,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型错误返回基类
///
- public static BaseResult Error(TData? data)
+ public static BaseResult Error(TData? data)
{
return Error(data, 0, "错误");
}
@@ -111,7 +70,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型错误返回基类
///
- public static BaseResult Error(TData? data, int code = 0, string message = "错误")
+ public static BaseResult Error(TData? data, int code = 0, string message = "错误")
{
return new BaseResult() { Data = data, Code = code, Message = message };
}
@@ -127,7 +86,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型失败返回基类
///
- public static BaseResult Fail(TData? data)
+ public static BaseResult Fail(TData? data)
{
return Fail(data, 0, "失败");
}
@@ -135,7 +94,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型失败返回基类
///
- public static BaseResult Fail(TData? data, int code = 0, string message = "失败")
+ public static BaseResult Fail(TData? data, int code = 0, string message = "失败")
{
return new BaseResult() { Data = data, Code = 0, Message = "失败" };
}
@@ -145,7 +104,7 @@ namespace HttpClientStudy.WebApp
///
public static BaseResult Exception(Exception ex)
{
- return Exception(ex, default,0);
+ return Exception(ex, default, 0);
}
///
@@ -155,7 +114,7 @@ namespace HttpClientStudy.WebApp
///
///
///
- public static BaseResult Exception(Exception ex, TData? data)
+ public static BaseResult Exception(Exception ex, TData? data)
{
return Exception(ex, data, 0);
}
@@ -163,7 +122,7 @@ namespace HttpClientStudy.WebApp
///
/// 创建 泛型异常返回基类
///
- public static BaseResult Exception(Exception ex, TData? data, int code = 0)
+ public static BaseResult Exception(Exception ex, TData? data, int code = 0)
{
return new BaseResult() { Data = data, Code = code, Message = $"异常:{ex.Message}" };
}
diff --git a/HttpClientStudy.UnitTest/GlobalUsings.cs b/HttpClientStudy.UnitTest/GlobalUsings.cs
index 7b1500a..a3c1bb8 100644
--- a/HttpClientStudy.UnitTest/GlobalUsings.cs
+++ b/HttpClientStudy.UnitTest/GlobalUsings.cs
@@ -20,6 +20,9 @@ global using Xunit.Serialization;
global using HttpClientStudy.Model;
global using HttpClientStudy.Core;
+global using HttpClientStudy.Core.UseJson;
+global using HttpClientStudy.Core.HttpRequests;
+global using HttpClientStudy.Core.HttpResponses;
global using HttpClientStudy.Service;
diff --git a/HttpClientStudy.UnitTest/HttpClientStudy.UnitTest.csproj b/HttpClientStudy.UnitTest/HttpClientStudy.UnitTest.csproj
index 844dc0d..9aecc3c 100644
--- a/HttpClientStudy.UnitTest/HttpClientStudy.UnitTest.csproj
+++ b/HttpClientStudy.UnitTest/HttpClientStudy.UnitTest.csproj
@@ -31,11 +31,10 @@
-
-
-
-
-
+
+
+
+
diff --git a/HttpClientStudy.UnitTest/HttpClients/HttpClientQuestTest.cs b/HttpClientStudy.UnitTest/HttpClients/HttpClientQuestTest.cs
index e20cc5c..673aabe 100644
--- a/HttpClientStudy.UnitTest/HttpClients/HttpClientQuestTest.cs
+++ b/HttpClientStudy.UnitTest/HttpClients/HttpClientQuestTest.cs
@@ -53,7 +53,7 @@ namespace HttpClientStudy.UnitTest.HttpClients
{
HttpClient httpClient = new HttpClient();
- var responseMessage = await httpClient.GetAsync(TestConfig.WebApiBaseUrl + "/api/account/ping");
+ var responseMessage = await httpClient.GetAsync(TestConfig.WebApiBaseUrl + "/api/health");
responseMessage.EnsureSuccessStatusCode();
}
@@ -68,7 +68,7 @@ namespace HttpClientStudy.UnitTest.HttpClients
};
for (int i = 0; i < 100; i++)
{
- var responseMessage = await httpClient.GetAsync("/api/account/ping");
+ var responseMessage = await httpClient.GetAsync("/api/health");
responseMessage.EnsureSuccessStatusCode();
}
diff --git a/HttpClientStudy.UnitTest/HttpClients/PipelineClientTest.cs b/HttpClientStudy.UnitTest/HttpClients/PipelineClientTest.cs
index 32b2a65..fd45187 100644
--- a/HttpClientStudy.UnitTest/HttpClients/PipelineClientTest.cs
+++ b/HttpClientStudy.UnitTest/HttpClients/PipelineClientTest.cs
@@ -31,7 +31,7 @@ namespace HttpClientStudy.UnitTest.HttpClients
//构造中传入管道对象
HttpClient httpClient = new HttpClient(handler);
- var sd = await httpClient.GetAsync(TestConfig.WebApiBaseUrl + "/api/account/ping");
+ var sd = await httpClient.GetAsync(TestConfig.WebApiBaseUrl + "/api/health");
var contentText = await sd.Content.ReadAsStringAsync();
_logger.WriteLine(contentText);
@@ -42,7 +42,7 @@ namespace HttpClientStudy.UnitTest.HttpClients
{
HttpClient client = new PipelineHttpClient().CreateHttpClient();
- var r = await client.GetAsync(TestConfig.WebApiBaseUrl + "/api/account/ping");
+ var r = await client.GetAsync(TestConfig.WebApiBaseUrl + "/api/health");
r.EnsureSuccessStatusCode();
}
}
diff --git a/HttpClientStudy.WebApp/Controllers/AccountController.cs b/HttpClientStudy.WebApp/Controllers/AccountController.cs
index 7d68aa9..5a7beea 100644
--- a/HttpClientStudy.WebApp/Controllers/AccountController.cs
+++ b/HttpClientStudy.WebApp/Controllers/AccountController.cs
@@ -26,20 +26,6 @@ namespace HttpClientStudy.WebApp.Controllers
///
public AccountController() { }
- ///
- /// Ping 测试接口
- ///
- ///
- /// Ping
- ///
- ///
- [HttpGet]
- public IActionResult Ping()
- {
-
- return Ok("pong");
- }
-
///
/// 获取Token
///
diff --git a/HttpClientStudy.WebApp/GlobalUsings.cs b/HttpClientStudy.WebApp/GlobalUsings.cs
new file mode 100644
index 0000000..9acbf18
--- /dev/null
+++ b/HttpClientStudy.WebApp/GlobalUsings.cs
@@ -0,0 +1,25 @@
+global using System;
+global using System.Linq;
+global using System.Text;
+global using System.Threading.Tasks;
+global using System.Collections.Generic;
+
+global using System.Net;
+global using System.Net.Mime;
+global using System.Net.Http;
+global using System.Net.Http.Json;
+global using System.Net.Http.Headers;
+
+
+global using HttpClientStudy.Model;
+
+global using HttpClientStudy.Core;
+global using HttpClientStudy.Core.UseJson;
+global using HttpClientStudy.Core.HttpRequests;
+global using HttpClientStudy.Core.HttpResponses;
+
+global using HttpClientStudy.Service;
+
+global using HttpClientStudy.WebApp;
+global using HttpClientStudy.WebApp.Models;
+global using HttpClientStudy.WebApp.Controllers;
\ No newline at end of file
diff --git a/HttpClientStudy.WebApp/HealthCheck.cs b/HttpClientStudy.WebApp/HealthCheck.cs
new file mode 100644
index 0000000..b43d4a3
--- /dev/null
+++ b/HttpClientStudy.WebApp/HealthCheck.cs
@@ -0,0 +1,21 @@
+using Microsoft.Extensions.Diagnostics.HealthChecks;
+
+namespace HttpClientStudy.WebApp
+{
+ ///
+ /// 健康检查
+ ///
+ public class HealthCheck : IHealthCheck
+ {
+ ///
+ /// 健康检查该方法
+ ///
+ /// 健康检查上下文
+ /// 取消令牌
+ ///
+ public Task CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default)
+ {
+ return Task.FromResult( HealthCheckResult.Healthy("ok"));
+ }
+ }
+}
diff --git a/HttpClientStudy.WebApp/Program.cs b/HttpClientStudy.WebApp/Program.cs
index 033bb86..51d6e76 100644
--- a/HttpClientStudy.WebApp/Program.cs
+++ b/HttpClientStudy.WebApp/Program.cs
@@ -164,6 +164,9 @@ namespace HttpClientStudy.WebApp
//Ȩ
builder.Services.AddAuthorization();
+ //
+ builder.Services.AddHealthChecks();
+
//ͨ
builder.Services.AddScoped(provider => new Account() { Id = 0, Name = "עʾ", Password = "123456", Role = "IoC" });
@@ -171,8 +174,9 @@ namespace HttpClientStudy.WebApp
#endregion
var app = builder.Build();
-
+
#region Httpܵ
+ app.MapHealthChecks("api/health");
app.UseSwagger();
app.UseSwaggerUI(setup =>
diff --git a/HttpClientStudy.WebApp/StartWebApi.bat b/HttpClientStudy.WebApp/StartWebApi.bat
new file mode 100644
index 0000000..23e84d0
--- /dev/null
+++ b/HttpClientStudy.WebApp/StartWebApi.bat
@@ -0,0 +1,3 @@
+:: Launch WebApi project for unit testing
+dotnet run --project %~dp0/HttpClientStudy.WebApp.csproj
+
diff --git a/HttpClientStudy.WebApp/WebApp.http b/HttpClientStudy.WebApp/WebApp.http
index 93ed8b9..76e715c 100644
--- a/HttpClientStudy.WebApp/WebApp.http
+++ b/HttpClientStudy.WebApp/WebApp.http
@@ -1,6 +1,6 @@
@HttpClientStudy.WebApp_HostAddress = http://localhost:5189
-GET {{HttpClientStudy.WebApp_HostAddress}}/weatherforecast/
+GET {{HttpClientStudy.WebApp_HostAddress}}/api/health
Accept: application/json
###