1.  
  1. public class DemoModel
  2. {
  3. public string Name { get; set; }
  4. public int Age { get; set; }
  5. }
  1.  
  1. [HttpPost]
  2. public ActionResult About(DemoModel model)
  3. {
  4. return Json(model);
  5. }
  6.  
  7. [HttpPost]
  8. public ActionResult About(string Name, int Age)
  9. {
  10. return Json(model);
  11. }

看到本段代码是不是很熟悉,常用了是吧,现在换一种场景,A与B协作,B向A发送回调,A知道B回想自己发送回调数据,且发送的是Json格式数据,但格式内容B没有给文档,

此时测试确实可以收到B发送的回调请求,但是就是不知道数据格式很着急,这时B暂时联系不上,且B的项目已经上线运行良好不会出问题,此时怎么也得想办法知道B回调接口

到底发送了啥子呢?

有开发经验的小伙伴说好说这还不容易吗?

看招

  1. //Post参数来了
  2. StringBuilder sb = new StringBuilder();
  3. string[] keys = Request.Form.AllKeys;
  4. for (int i = ; i < keys.Length; i++)
  5. {
  6. sb.Append(keys[i] + ": " + Request.Form[keys[i]] + "<br>");
  7. }
  1. //Get参数来了
  2. StringBuilder sb = new StringBuilder();
  3. foreach (String key in Request.QueryString.AllKeys)
  4. {
  5. sb.Append("Key: " + key + " Value: " + Request.QueryString[key]);
  6. }

哎呦哦我去,咋全部都是空呢,不对啊根据开发经验 Post,Get两种方式总得是一种吧

但是就是没有是不是很着急呢

其实包括我在呢的许多开发小伙伴在使用MVC开发时因为太好用了好多东西微软都为大家准备好了,因为太方便了所以导致我们有些情况就想当然了

下面说出微软内部是杂实现的吧

  1. public override void OnActionExecuting(ActionExecutingContext filterContext)
  2. {
  3. base.OnActionExecuting(filterContext);
  4. DemoModel model = filterContext.ActionParameters["model"] as DemoModel;
  5. }
  6.  
  7. public override void OnActionExecuting(ActionExecutingContext filterContext)
  8. {
  9. base.OnActionExecuting(filterContext);
  10. filterContext.HttpContext.Request.InputStream.Position = ;
  11. using (var reader = new StreamReader(filterContext.HttpContext.Request.InputStream))
  12. {
  13. string json = reader.ReadToEnd();
  14. //Json字符串得到了知道其他小伙伴发送过来的Json数据格式了
  15. }
  16. }

本文想说明的问题大家看懂了吗,喜欢的话点个赞呗!

Ps:补充下

小伙伴注意①②是不一样的喽

本文想表达的是

后台Http请求时 发送给你的是json格式 当你不知道对方会发送什么格式的数据给你【虽然很扯但是但是你懂的。】

此时无论对方给不给数据文档,我们都知道他发送的啥子格式的数据了

本文想说明的问题大家看懂了吗,喜欢的话点个赞呗!

c# MVC Action 如何知道 发送方给你的 Json 数据的格式内容是什么的更多相关文章

  1. 使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)

    Fiddler工具是一个http协议调试代理工具,它可以帮助程序员测试或调试程序,辅助web开发. Fiddler工具可以发送向服务端发送特定的HTTP请求以及接受服务器回应的请求和数据,是web调试 ...

  2. MOOC(3)- python发送请求,返回的json数据被转码

    https://www.cnblogs.com/yoyoketang/p/10339210.html 问题:发送post请求,对post请求返回的json数据格式化,但是返回的结果被转码了 json. ...

  3. Spring MVC与html页面的交互(以传递json数据为例)

    一.导入相jar包 主要包括spring相关jar包和fastjson jar包,具体步骤略. 二.配置相关文件 1.配置web.xml文件 <?xml version="1.0&qu ...

  4. 使用axios发送post请求,将JSON数据改为为form类型

    我的github(PS:希望star):https://github.com/thWinterSun/v-admin 通常前端通过POST请求向服务器端提交数据格式有4中,分别是"appli ...

  5. autojs,autojs 发送http请求,autojs 解析json数据

    如题,我这个就直接上代码吧 (function () { let request = http.request; // 覆盖http关键函数request,其他http返回最终会调用这个函数 http ...

  6. mvc使用JsonResult返回Json数据

    mvc使用JsonResult返回Json数据   controller 中定义以下方法: public JsonResult UpdateSingle(int id, string actionNa ...

  7. ASP.NET MVC : Action过滤器(Filtering)

    http://www.cnblogs.com/QLeelulu/archive/2008/03/21/1117092.html ASP.NET MVC : Action过滤器(Filtering) 相 ...

  8. MVC Action 返回类型

    https://www.cnblogs.com/xielong/p/5940535.html https://blog.csdn.net/WuLex/article/details/79008515 ...

  9. [转]Asp.Net大型项目实践(11)-基于MVC Action粒度的权限管理【续】【源码在这里】(在线demo,全部源码)

    本文转自:http://www.cnblogs.com/legendxian/archive/2010/01/25/1655551.html 接上篇Asp.Net大型项目实践(10)-基于MVC Ac ...

随机推荐

  1. 使用JavaScript实现表现和数据分离

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8&quo ...

  2. js中的find(),filter(),has()的用法和区别

    filter():操作当前元素集,删除不匹配的元素,得到一个新的集合 <ul> <li class="a">list item 1</li> & ...

  3. 为什么要用jvm .

    挚享科技 2018.4.8 运行java程序字节码,实现跨平台.. Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成 在Java虚拟机上运行的目标代码(字节码 ...

  4. apache反向代理设置

    为了方便在内网测试微信接口API <VirtualHost *:80> ServerName wx.abc.com ProxyPreserveHost on ProxyPass / htt ...

  5. [Oracle]ORA-14400:插入的分区关键字未映射到任何分区

    今天在使用测试库的时候发生ORA-14400:inserted partition key does not map to any partition 解决过程: 经过百度,发现出现ORA-14400 ...

  6. 2018.11.01 洛谷P3953 逛公园(最短路+dp)

    传送门 设f[i][j]f[i][j]f[i][j]表示跟最短路差值为iii当前在点jjj的方案数. in[i][j]in[i][j]in[i][j]表示在被选择的集合当中. 大力记忆化搜索就行了. ...

  7. android bug笔记

    昨天集成一个第三方的联盟sdk,然后执行它的代码,程序就会crash,这个第三方的sdk报错日志后面,紧跟着一个友盟分享的报错,我现在也不明白这里是为何把友盟给扯进来了,因为我这步骤操作上并没有调用任 ...

  8. BZOJ 1059 [ZJOI2007]矩阵游戏 (二分图最大匹配)

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 5281  Solved: 2530[Submit][Stat ...

  9. php,ajax上传文件,多文件上传

    HTML <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

  10. JS如何创建对象

    js创建对象的方法很多,以下分别介绍