代码拉取完成,页面将自动刷新
在过去,接口只能应用全局的规范化或者特定接口不启用规范化处理,但随着业务需求越来越复杂,对接的第三方越来越多,那么就需要多套自定义规范化结果的机制。
#I38L9B:如何设置某一个接口响应数据不自动转小写,按原始字段名返回。
#I51WLX:关于规范返回结果,能否改为AOP形式在过滤器上实现
// 替换默认的
services.AddUnifyProvider<SpeciallyResultProvider>();
// 添加更多规范化配置
services.AddUnifyProvider<SpeciallyResultProvider>("unique_name");
[UnifyProvider] // 默认的(不贴也是默认的)
public class FurionAppService: IDynamicApiController
{
}
[UnifyProvider("specially")] // 自定义的
public class FurionAppService: IDynamicApiController
{
}
[UnifyProvider] // 默认的
public class FurionAppService: IDynamicApiController
{
[UnifyProvider("specially")] // 复写默认的
public string GetName()
{
}
}
JsonResult
的序列化public IActionResult OnSucceeded(ActionExecutedContext context, object data)
{
return new JsonResult(RESTfulResult(StatusCodes.Status200OK, true, data), new JsonSerializerOptions { ... });
}
services.AddUnifyProvider<SpeciallyResultProvider>("specially");
[UnifyModel(typeof(MyResult<>))]
public class SpeciallyResultProvider : IUnifyResultProvider
{
public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)
{
return new ContentResult() { Content = "异常啦" };
}
public IActionResult OnSucceeded(ActionExecutedContext context, object data)
{
return new ContentResult() { Content = "成功啦" };
}
public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)
{
return new ContentResult() { Content = "失败啦" };
}
public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)
{
await Task.CompletedTask;
}
}
public class MyResult<T>
{
/// <summary>
/// 数据
/// </summary>
public T Data { get; set; }
}
public class TestUnifyProvider : IDynamicApiController
{
public string DefaultUnify()
{
return "test";
}
[UnifyProvider]
public string DefaultUnify2()
{
return "test";
}
[UnifyProvider("specially")]
public string SpeciallyUnify()
{
return "特别";
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论