ApiResultAttribute.cs 1.07 KB
using System.Net;
using System.Net.Http;
using System.Web.Http.Filters;

namespace HH_WCS_Standard
{
    public class ApiResultAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
        {
            if (actionExecutedContext.Exception != null)
                return;
            base.OnActionExecuted(actionExecutedContext);
            HttpStatusCode Code;
            var bllResult = actionExecutedContext.ActionContext.Response.Content.ReadAsAsync<BllResult>().Result;
            if (bllResult.Success)
            {
                Code = HttpStatusCode.OK;
            }
            else
            {
                Code = HttpStatusCode.BadRequest;
            }
            ApiResultModel result = new ApiResultModel(Code, bllResult.Data, bllResult.Msg);
            //回复ok是指收到了请求,但是具体业务是否成功,要看result中的state
            actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(HttpStatusCode.OK, result);
        }
    }
}