首页| 新闻| 科技| 人物| 科学| 话题| 运营| 设计| 开发| 服务器| 学院| 产品| 网文| 娱乐| 游戏| 图片
业务场景:
业务需求要求,需要对 WebApi 接口服务统一返回参数,也就是把实际的结果用一定的格式包裹起来,比如下面格式:
{ "response":{ "code":200, "msg":"Remote service error", "result":"" }}
具体实现:
using Microsoft.AspNetCore.Mvc;using Microsoft.AspNetCore.Mvc.Filters;public class WebApiResultMiddleware : ActionFilterAttribute{ public override void OnResultExecuting(ResultExecutingContext context) { //根据实际需求进行具体实现 if (context.Result is ObjectResult) { var objectResult = context.Result as ObjectResult; if (objectResult.Value == null) { context.Result = new ObjectResult(new { code = 404, sub_msg = "未找到资源", msg = "" }); } else { context.Result = new ObjectResult(new { code = 200, msg = "", result = objectResult.Value }); } } else if (context.Result is EmptyResult) { context.Result = new ObjectResult(new { code = 404, sub_msg = "未找到资源", msg = "" }); } else if (context.Result is ContentResult) { context.Result = new ObjectResult(new { code = 200, msg = "", result= (context.Result as ContentResult).Content }); } else if (context.Result is StatusCodeResult) { context.Result = new ObjectResult(new { code = (context.Result as StatusCodeResult).StatusCode, sub_msg = "", msg = "" }); } }}
Startup添加对应配置:
Startup
public void ConfigureServices(IServiceCollection services){ services.AddMvc(options => { options.Filters.Add(typeof(WebApiResultMiddleware)); options.RespectBrowserAcceptHeader = true; });}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CuoXin错新网。
phpwind9.0系统的视觉进化论(
phpwind 的编码错误导致cookie
phpwind的rewrite重写原理
南国有佳人,容华若桃李
怀念青春,憧憬着自己的美好未来
中国旅游景点集锦 美丽的风景
名胜古迹风景 最美的景色
路边摊小吃 酒香不怕巷子深
特色路边摊小吃 下班路上的一道美食
爷爷都是从孙子走过来的
我太帅了,睡不着咋整啊
新闻热点
疑难解答
图片精选
ASP.NET中Multi-ListBox控件编程详
ASP.NET AJAX:UpdatePanel控件
你必须知道的.NET之接口和抽象类
ASP.NET入门数据篇
网友关注