diff --git a/HttpClientStudy.Service/AccountService.cs b/HttpClientStudy.Service/AccountService.cs
index edd69aa..3f507db 100644
--- a/HttpClientStudy.Service/AccountService.cs
+++ b/HttpClientStudy.Service/AccountService.cs
@@ -23,7 +23,7 @@ namespace HttpClientStudy.Service
new Account() { Id=10, Name="管理员10", Password="123456", Role="Admin"},
new Account() { Id=11, Name="开发01", Password="123456", Role="Dev"},
- new Account() { Id=12, Name="管理员01", Password="123456", Role="Dev"},
+ new Account() { Id=12, Name="开发01", Password="123456", Role="Dev"},
new Account() { Id=13, Name="开发03", Password="123456", Role="Dev"},
new Account() { Id=14, Name="开发04", Password="123456", Role="Dev"},
new Account() { Id=15, Name="开发05", Password="123456", Role="Dev"},
diff --git a/HttpClientStudy.UnitTest/NormalHttpClientTest.cs b/HttpClientStudy.UnitTest/NormalHttpClientTest.cs
index be914a6..aff3802 100644
--- a/HttpClientStudy.UnitTest/NormalHttpClientTest.cs
+++ b/HttpClientStudy.UnitTest/NormalHttpClientTest.cs
@@ -43,6 +43,11 @@ namespace HttpClientStudy.UnitTest
Assert.NotNull(result.Data);
}
+ ///
+ /// GET 请求
+ /// (默认参数方式:url传参)
+ ///
+ ///
[Fact]
public async Task GetAccount_Id_Test()
{
@@ -51,28 +56,40 @@ namespace HttpClientStudy.UnitTest
BaseAddress = new Uri(TestConfig.WebApiBaseUrl),
};
- var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccount");
+ var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccount?Id=2");
responseMessage.EnsureSuccessStatusCode();
Assert.NotNull(responseMessage);
Assert.True(responseMessage.IsSuccessStatusCode);
- var result = await responseMessage.Content.ReadFromJsonAsync>>();
- Assert.IsType>>(result);
+ var result = await responseMessage.Content.ReadFromJsonAsync>();
+ Assert.IsType>(result);
Assert.Equal(1, result.Code);
- Assert.NotNull(result.Data);
+ Assert.Equal(2, result.Data?.Id);
}
+ ///
+ /// GET 请求
+ /// (中文参数:现在浏览器直接支持,为最大兼容老旧浏览器使用url编码)
+ ///
+ ///
[Fact]
- public async Task GetAccount_Name_Test()
+ public async Task GetAccountByName_Test()
{
HttpClient httpClient = new HttpClient()
{
BaseAddress = new Uri(TestConfig.WebApiBaseUrl),
};
- var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccount");
+ var ChineseName = System.Net.WebUtility.UrlEncode("管理员01");
+ var ChineseName2 = System.Net.WebUtility.UrlEncode("管理员02");
+
+ //现在浏览器直接支持中文参数
+ //var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccountByName?ChineseName=管理员01&ChineseName2=管理员02");
+
+ //兼容老浏览器写法
+ var responseMessage = await httpClient.GetAsync($"/api/Normal/GetAccountByName?ChineseName={ChineseName}&ChineseName2={ChineseName2}");
responseMessage.EnsureSuccessStatusCode();
@@ -82,7 +99,7 @@ namespace HttpClientStudy.UnitTest
var result = await responseMessage.Content.ReadFromJsonAsync>>();
Assert.IsType>>(result);
Assert.Equal(1, result.Code);
- Assert.NotNull(result.Data);
+ Assert.Equal(2, result.Data?.Count);
}
[Fact]
@@ -107,7 +124,7 @@ namespace HttpClientStudy.UnitTest
}
[Fact]
- public async Task GetAccount_Service_Test()
+ public async Task GetAccountByService_Test()
{
HttpClient httpClient = new HttpClient()
{
diff --git a/HttpClientStudy.WebApp/Controllers/NormalController.cs b/HttpClientStudy.WebApp/Controllers/NormalController.cs
index 03d84c6..ed90aad 100644
--- a/HttpClientStudy.WebApp/Controllers/NormalController.cs
+++ b/HttpClientStudy.WebApp/Controllers/NormalController.cs
@@ -41,7 +41,7 @@ namespace HttpClientStudy.WebApp.Controllers
///
/// 查询账号
- /// (默认方式参数)
+ /// (默认方式参数:URL传参)
///
///
[HttpGet]
@@ -85,6 +85,18 @@ namespace HttpClientStudy.WebApp.Controllers
return Ok(result);
}
+ ///
+ /// 查询账号
+ /// (请求头参数)
+ ///
+ ///
+ [HttpGet]
+ public IActionResult GetAccountFromHeader([FromHeader] Account account)
+ {
+ var result = BaseResultUtil.Success(account);
+ return Ok(result);
+ }
+
///
/// 查询账号
/// (服务注入参数)