c# MVC Action 如何知道 发送方给你的 Json 数据…
2018-09-18 06:54:42来源:博客园 阅读 ()
public class DemoModel { public string Name { get; set; } public int Age { get; set; } }
[HttpPost] public ActionResult About(DemoModel model) { return Json(model); } [HttpPost] public ActionResult About(string Name, int Age) { return Json(model); }
看到本段代码是不是很熟悉,常用了是吧,现在换一种场景,A与B协作,B向A发送回调,A知道B回想自己发送回调数据,且发送的是Json格式数据,但格式内容B没有给文档,
此时测试确实可以收到B发送的回调请求,但是就是不知道数据格式很着急,这时B暂时联系不上,且B的项目已经上线运行良好不会出问题,此时怎么也得想办法知道B回调接口
到底发送了啥子呢?
有开发经验的小伙伴说好说这还不容易吗?
看招
//Post参数来了 StringBuilder sb = new StringBuilder(); string[] keys = Request.Form.AllKeys; for (int i = 0; i < keys.Length; i++) { sb.Append(keys[i] + ": " + Request.Form[keys[i]] + "<br>"); }
//Get参数来了 StringBuilder sb = new StringBuilder(); foreach (String key in Request.QueryString.AllKeys) { sb.Append("Key: " + key + " Value: " + Request.QueryString[key]); }
哎呦哦我去,咋全部都是空呢,不对啊根据开发经验 Post,Get两种方式总得是一种吧
但是就是没有是不是很着急呢
其实包括我在呢的许多开发小伙伴在使用MVC开发时因为太好用了好多东西微软都为大家准备好了,因为太方便了所以导致我们有些情况就想当然了
下面说出微软内部是杂实现的吧
public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); DemoModel model = filterContext.ActionParameters["model"] as DemoModel; } public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); filterContext.HttpContext.Request.InputStream.Position = 0; using (var reader = new StreamReader(filterContext.HttpContext.Request.InputStream)) { string json = reader.ReadToEnd(); //Json字符串得到了知道其他小伙伴发送过来的Json数据格式了 } }
本文想说明的问题大家看懂了吗,喜欢的话点个赞呗!
Ps:补充下
小伙伴注意①②是不一样的喽
本文想表达的是
后台Http请求时 发送给你的是json格式 当你不知道对方会发送什么格式的数据给你【虽然很扯但是但是你懂的。】
此时无论对方给不给数据文档,我们都知道他发送的啥子格式的数据了
本文想说明的问题大家看懂了吗,喜欢的话点个赞呗!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- ASP.NET MVC Admin主页快速构建 2020-03-23
- Asp.Net MVC4通过id更新表单内容的思路详解 2020-03-19
- MVC数据验证详解 2020-03-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash