main
wanggaofeng 1 year ago
parent 6aadc14980
commit 81af48dfd6

@ -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"},

@ -43,6 +43,11 @@ namespace HttpClientStudy.UnitTest
Assert.NotNull(result.Data);
}
/// <summary>
/// GET 请求
/// (默认参数方式url传参)
/// </summary>
/// <returns></returns>
[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<BaseResult<List<Account>>>();
Assert.IsType<BaseResult<List<Account>>>(result);
var result = await responseMessage.Content.ReadFromJsonAsync<BaseResult<Account>>();
Assert.IsType<BaseResult<Account>>(result);
Assert.Equal(1, result.Code);
Assert.NotNull(result.Data);
Assert.Equal(2, result.Data?.Id);
}
/// <summary>
/// GET 请求
/// (中文参数:现在浏览器直接支持,为最大兼容老旧浏览器使用url编码)
/// </summary>
/// <returns></returns>
[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<BaseResult<List<Account>>>();
Assert.IsType<BaseResult<List<Account>>>(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()
{

@ -41,7 +41,7 @@ namespace HttpClientStudy.WebApp.Controllers
/// <summary>
/// 查询账号
/// (默认方式参数)
/// (默认方式参数:URL传参)
/// </summary>
/// <returns></returns>
[HttpGet]
@ -85,6 +85,18 @@ namespace HttpClientStudy.WebApp.Controllers
return Ok(result);
}
/// <summary>
/// 查询账号
/// (请求头参数)
/// </summary>
/// <returns></returns>
[HttpGet]
public IActionResult GetAccountFromHeader([FromHeader] Account account)
{
var result = BaseResultUtil.Success(account);
return Ok(result);
}
/// <summary>
/// 查询账号
/// (服务注入参数)

Loading…
Cancel
Save