Browse Source

Apewer-6.0.11:ApiResponse.Respond 支持反悔错误信息。

dev
Elivo 5 years ago
parent
commit
ffc6c0efe9
  1. 2
      Apewer/Apewer.csproj
  2. 53
      Apewer/Web/WebUtility.cs
  3. 3
      Apewer/_ChangeLog.md
  4. 39
      Apewer/_Extensions.cs

2
Apewer/Apewer.csproj

@ -7,7 +7,7 @@
<AssemblyName>Apewer</AssemblyName>
<PackageId>Apewer</PackageId>
<Title>Apewer</Title>
<Version>6.0.10</Version>
<Version>6.0.11</Version>
</PropertyGroup>
<!-- Info -->

53
Apewer/Web/WebUtility.cs

@ -5,6 +5,8 @@ using System.Text;
using System.Diagnostics;
using Apewer.Models;
using System.IO;
using System.Collections;
using Apewer.Source;
#if NETFX
using System.Web;
@ -375,6 +377,57 @@ namespace Apewer.Web
#endif
}
/// <summary>设置响应,当发生错误时设置响应。返回错误信息。</summary>
public static string Respond(ApiResponse response, IList list, bool lower = true, int depth = -1, bool force = false)
{
if (response == null) return "Response 对象无效。";
if (list == null)
{
var error = "列表对象无效。";
response.Error(error);
return error;
}
var json = Json.Parse(list, lower, depth, force);
if (json == null || !json.Available)
{
var error = "列表无法序列化。";
response.Error(error);
return error;
}
if (response.Data == null) response.Data = Json.NewObject();
response.Data.SetProperty("count", list.Count);
response.Data.SetProperty("list", Json.Parse(list, lower, depth, force));
return null;
}
/// <summary>设置响应,当发生错误时设置响应。返回错误信息。</summary>
public static string Respond(ApiResponse response, Record record, bool lower = true)
{
if (response == null) return "Response 对象无效。";
if (record == null)
{
var error = "记录无效。";
response.Error(error);
return error;
}
var json = Json.Parse(record, lower);
if (json == null || !json.Available)
{
var error = "记录无法序列化。";
response.Error(error);
return error;
}
if (response.Data == null) response.Data = Json.NewObject();
response.Data.Reset(json);
return null;
}
#endregion
#region api

3
Apewer/_ChangeLog.md

@ -5,6 +5,9 @@
### 最新提交
### 6.0.11
- 扩展方法 ApiResponse.Respond 支持返回错误信息。
### 6.0.10
- 修正 SafeKey 错误。

39
Apewer/_Extensions.cs

@ -565,42 +565,11 @@ public static class Extensions
return target;
}
/// <summary></summary>
/// <param name="this"></param>
/// <param name="list"></param>
/// <param name="lower"></param>
/// <param name="depth"></param>
/// <param name="force"></param>
public static void Respond(this ApiResponse @this, IList list, bool lower = true, int depth = -1, bool force = false)
{
if (@this == null) return;
if (list == null)
{
@this.Error("获取失败。");
return;
}
@this.Data.SetProperty("count", list.Count);
@this.Data.SetProperty("list", Json.Parse(list, lower, depth, force));
}
/// <summary>设置响应,当发生错误时设置响应。返回错误信息。</summary>
public static string Respond(this ApiResponse @this, IList list, bool lower = true, int depth = -1, bool force = false) => WebUtility.Respond(@this, list, lower, depth, force);
/// <summary></summary>
/// <param name="this"></param>
/// <param name="record"></param>
/// <param name="lower"></param>
public static void Respond(this ApiResponse @this, Record record, bool lower = true)
{
if (@this == null) return;
if (record == null)
{
@this.Error("获取失败。");
return;
}
@this.Data.Reset(Json.Parse(record, lower));
}
/// <summary>设置响应,当发生错误时设置响应。返回错误信息。</summary>
public static string Respond(this ApiResponse @this, Record record, bool lower = true) => WebUtility.Respond(@this, record, lower);
#endif

Loading…
Cancel
Save