• ASP.NET Corewebapi返回固定格式的json数据


    在正常开发web api时需要返回固定格式的json数据,这样前端处理也方便,具体操作如下:

    1.建立自定义过滤器

     public class WebApiResultFilter : ActionFilterAttribute
        {
            public override void OnResultExecuting(ResultExecutingContext context)
            {
                if (context.Result is ObjectResult)
                {
                    var result = context.Result as ObjectResult;
                    if (result.Value == null)
                    {
                        context.Result = new ObjectResult(new { code = 0, msg = "未找到资源", data = "" });
                    }
                    else
                    {
                        context.Result = new ObjectResult(new { code = 1, msg = "ok", data = result.Value });
                    }
                }
                else if (context.Result is EmptyResult)
                {
                    context.Result = new ObjectResult(new { code = 0, msg = "未找到资源", data = "" });
                }
                else if (context.Result is ContentResult)
                {
                    context.Result = new ObjectResult(new { code = 1, msg = "ok", data = (context.Result as ContentResult).Content });
                }
                else if (context.Result is StatusCodeResult)
                {
                    context.Result = new ObjectResult(new { code = 1, msg = "ok", data = "" });
                }
            }
        }

    2.Startup.cs中注册过滤器

      public void ConfigureServices(IServiceCollection services)
            {
                services.AddControllers(options =>
                {
                    options.Filters.Add(typeof(WebApiResultFilter));
                });
            } 

    3.实现效果:(这里推荐一个类似postman的测试工具:ApiPost)

  • 相关阅读:
    菜鸟学存储:网络存储IP SAN与IB SAN
    读xml高手
    预先加载图片
    xred520
    最简单准确的硬盘整数分区设置操作方法
    Google 每天处理约 20000TB 的数据
    IE 8 无法正常使用网站后台编辑器问题
    常用的JS技术1
    adodb stream 使用说明
    [Tools] JDGUI(Java Decompiler)
  • 原文地址:https://www.cnblogs.com/hobelee/p/16358033.html
Copyright © 2020-2023  润新知