Mico.Demo/Microservice.Common/IServiceApi.cs

50 lines
1.7 KiB
C#

using Refit;
using System.Threading.Tasks;
namespace Microservice.Common
{
/// <summary>
/// 通用服务 API 接口定义
/// </summary>
public interface IServiceApi
{
/// <summary>
/// 发送 GET 请求
/// </summary>
/// <typeparam name="T">响应数据类型</typeparam>
/// <param name="endpoint">API 端点</param>
/// <returns>API 响应</returns>
[Get("/{**endpoint}")]
Task<ApiResponse<T>> GetAsync<T>([AliasAs("endpoint")] string endpoint);
/// <summary>
/// 发送 POST 请求
/// </summary>
/// <typeparam name="T">响应数据类型</typeparam>
/// <param name="endpoint">API 端点</param>
/// <param name="data">请求数据</param>
/// <returns>API 响应</returns>
[Post("/{**endpoint}")]
Task<ApiResponse<T>> PostAsync<T>([AliasAs("endpoint")] string endpoint, [Body] object data);
/// <summary>
/// 发送 PUT 请求
/// </summary>
/// <typeparam name="T">响应数据类型</typeparam>
/// <param name="endpoint">API 端点</param>
/// <param name="data">请求数据</param>
/// <returns>API 响应</returns>
[Put("/{**endpoint}")]
Task<ApiResponse<T>> PutAsync<T>([AliasAs("endpoint")] string endpoint, [Body] object data);
/// <summary>
/// 发送 DELETE 请求
/// </summary>
/// <typeparam name="T">响应数据类型</typeparam>
/// <param name="endpoint">API 端点</param>
/// <returns>API 响应</returns>
[Delete("/{**endpoint}")]
Task<ApiResponse<T>> DeleteAsync<T>([AliasAs("endpoint")] string endpoint);
}
}