增加了api返回值的创建器方法。

This commit is contained in:
falcon 2023-04-10 18:20:16 +08:00
parent 4e63ad6c36
commit 64a4761ba9

View File

@ -164,10 +164,33 @@ namespace Falcon.SugarApi.ApiDefinistions
/// 同步返回成功的结果
/// </summary>
/// <typeparam name="T">data携带的数据类型</typeparam>
/// <param name="result">携带数据</param>
/// <param name="resultBuilder">返回结果创建者</param>
/// <returns>同步api结果</returns>
protected virtual ApiResult<T> SuccessResult<T>(Action<ApiResult<T>>? resultBuilder) {
var result = new ApiResult<T> {
Code = 0,Msg = ""
};
resultBuilder?.Invoke(result);
return result;
}
/// <summary>
/// 异步返回成功的结果
/// </summary>
/// <typeparam name="T">数据类型</typeparam>
/// <param name="resultBuilder">成功结果创建器</param>
/// <returns>异步api结果</returns>
protected virtual async Task<ApiResult<T>> SuccessResultAsync<T>(Action<ApiResult<T>>? resultBuilder)
=> await Task.FromResult(SuccessResult(resultBuilder));
/// <summary>
/// 同步返回成功的结果
/// </summary>
/// <typeparam name="T">data携带的数据类型</typeparam>
/// <param name="result">携带数据</param>
/// <returns>同步api结果</returns>
protected virtual ApiResult<T> SuccessResult<T>(T result)
=> new() { Code = 0,Msg = "",Data = result,};
=> SuccessResult<T>(b => b.Data = result);
/// <summary>
/// 异步返回成功的结果
@ -178,6 +201,19 @@ namespace Falcon.SugarApi.ApiDefinistions
protected virtual async Task<ApiResult<T>> SuccessResultAsync<T>(T result)
=> await Task.FromResult(SuccessResult(result));
/// <summary>
/// 同步返回失败的结果
/// </summary>
/// <typeparam name="T">data携带的数据类型</typeparam>
/// <param name="failResultBuilder">失败信息创建器</param>
/// <returns>异步api结果</returns>
protected virtual ApiResult<T> FailResult<T>(Action<ApiResult<T>>? failResultBuilder) {
var result = new ApiResult<T> { Code = 1 };
failResultBuilder?.Invoke(result);
return result;
}
/// <summary>
/// 同步返回失败的结果
/// </summary>
@ -185,7 +221,7 @@ namespace Falcon.SugarApi.ApiDefinistions
/// <param name="failMessage">失败信息</param>
/// <returns>异步api结果</returns>
protected virtual ApiResult<T> FailResult<T>(string failMessage)
=> new() { Code = 1,Msg = failMessage,};
=> FailResult<T>(b => b.Msg = failMessage);
/// <summary>
/// 异步返回失败的结果