HttpCilent跨服務請求
HttpCilent跨服務請求
需要先引用 S.Common 調用里面的 HttpClient 幫助類
注意:不能直接引用別人的Api,如需傳參數自己定義Dto,或者拼接參數
Get
/// <summary>
/// 跨服務請求角色列表
/// </summary>
/// <returns></returns>
[HttpGet("GetPageRole")]
public IActionResult GetPageRole(int page=1,int size=5,string? name="")
{
var list = HttpClientHelper.GetResponse($"https://localhost:7109/api/RoleMenuRead/GetPageRole?pageIndex={page}&pageSize={size}&roleName={name}");
return Ok(list);
}

如果需要使用獲取到的值顯示,需要定義Dto 進行反序列化

/// <summary>
/// 跨服務請求角色列表
/// </summary>
/// <returns></returns>
[HttpGet("GetPageRole")]
public IActionResult GetPageRole(int page = 1, int size = 5, string? name = "")
{
var jsonString = HttpClientHelper.GetResponse($"https://localhost:7109/api/RoleMenuRead/GetPageRole?pageIndex={page}&pageSize={size}&roleName={name}");
// 反序列化并顯示分頁數據
var response = JsonConvert.DeserializeObject<ResponseDto>(jsonString);
return Ok(response);
}
public class ResponseDto
{
public List<RoleAddDto> RoleList { get; set; }
public int PageCount { get; set; }
public int TotalCount { get; set; }
}
Post
/// <summary>
/// 跨服務添加角色
/// </summary>
/// <param name="role"></param>
/// <returns></returns>
///
[HttpPost("AddRole")]
public IActionResult AddRole(RoleAddDto role)
{
var result = HttpClientHelper.PostResponse("https://localhost:7026/api/RoleMenu/AddRole", role);
return Ok(result);
}

Delete
/// <summary>
/// 跨服務刪除耳標
/// </summary>
/// <returns></returns>
///
[HttpPost("DeleteRole")]
public IActionResult DeleteEarTag(int id)
{
var result = HttpClientHelper.DeleteResponse($"http://localhost:5283/api/EarTag/DeleteEarTag?id={id}");
return Ok(result);
}

Put
/// <summary>
/// 跨服務修改角色
/// </summary>
/// <param name="role"></param>
/// <returns></returns>
[HttpPut("UpdateRole")]
public IActionResult UpdateRole(RoleAddDto role)
{
var reqult = HttpClientHelper.PutDataResponse("https://localhost:7026/api/RoleMenu/UpdateRole", role);
return Ok(reqult);
}


浙公網安備 33010602011771號