详解ASP.NET Core WebApi 返回统一格式参数
业务场景:
业务需求要求,需要对WebApi接口服务统一返回参数,也就是把实际的结果用一定的格式包裹起来,比如下面格式:
{
"response":{
"code":200,
"msg":"Remoteserviceerror",
"result":""
}
}
具体实现:
usingMicrosoft.AspNetCore.Mvc;
usingMicrosoft.AspNetCore.Mvc.Filters;
publicclassWebApiResultMiddleware:ActionFilterAttribute
{
publicoverridevoidOnResultExecuting(ResultExecutingContextcontext)
{
//根据实际需求进行具体实现
if(context.ResultisObjectResult)
{
varobjectResult=context.ResultasObjectResult;
if(objectResult.Value==null)
{
context.Result=newObjectResult(new{code=404,sub_msg="未找到资源",msg=""});
}
else
{
context.Result=newObjectResult(new{code=200,msg="",result=objectResult.Value});
}
}
elseif(context.ResultisEmptyResult)
{
context.Result=newObjectResult(new{code=404,sub_msg="未找到资源",msg=""});
}
elseif(context.ResultisContentResult)
{
context.Result=newObjectResult(new{code=200,msg="",result=(context.ResultasContentResult).Content});
}
elseif(context.ResultisStatusCodeResult)
{
context.Result=newObjectResult(new{code=(context.ResultasStatusCodeResult).StatusCode,sub_msg="",msg=""});
}
}
}
Startup添加对应配置:
publicvoidConfigureServices(IServiceCollectionservices)
{
services.AddMvc(options=>
{
options.Filters.Add(typeof(WebApiResultMiddleware));
options.RespectBrowserAcceptHeader=true;
});
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短