50 lines
1.7 KiB
C#
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);
|
|
}
|
|
}
|