欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-23 08:30:01
看到本段代码是不是很熟悉,常用了是吧,现在换一种场景,A与B协作,B向A发送回调,A知道B回想自己发送回调数据,且发送的是Json格式数据,但格式内容B没有给文档, 此时测试确实可以收到B发送的回调请求,但是就是不知道数据格式很着急,这时B暂时联系不上,且B的项目已经上线运行良好不会出问题,此时怎么 ......

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:补充下

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

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

本文想表达的是

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

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

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

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

上一篇: java自学 day7

下一篇: 简单事件