.NET CORE控制器里的方法取传参的坑-阿里云开发者社区

开发者社区> niunan> 正文

.NET CORE控制器里的方法取传参的坑

简介:
+关注继续查看

把以前的ASP.NET MVC的项目改成用.NET CORE来写,写好了部署上去了,结果问题一大堆,今天慢慢检查了一下,发现一个大坑:
写控制器里的方法接收参数数都是直接写在控制器的方法参数里的,如:
public ActionResult CallBack(string msg, string orderno){
......
}

这样的话不管是在浏览器里打http://localhost/aaa/callback?msg=success&orderno=3231354
还是在postman中用POST调用传msg和orderno参数也能接收到

然后用ASP.NET MVC的项目的时候,第三方发送通知到我的这个方法里,我能接收到msg和orderno参数,
但是用ASP.NET CORE的项目的时候,第三方发送通知到我的这个方法里,我接收不到msg和orderno参数,
都是相同的上面那一段代码的

找了好久才发现问题所在,原来第三方发送通知到这个方法里传参数不是通过get传msg=success&orderno=3231354,也不是通过POST传msg和orderno参数的,而是通过POST直接把一个JSON字符串:
{
"msg":"success",
"orderno":"55474969"
}
给传过来的,

然后自己在postman中测试了一下,asp.net mvc的就正常能接收到,但是asp.net core的就接收不到


corekeng000.png
000.png
corekeng111.png
111.png

要改的话就只能改ASP.NET CORE的代码,不在方法参数里写,自己写代码从POST过来的数据流中把JSON字符串取出来,再用JSON.NET转为对象再用就行了!!!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
net core 小坑杂记之配置文件读取 02 (控制器里读)
    上次更新博客的时候提到了如何在EF的上下文里读取配置,这次介绍一下在控制器里如何读取。     先说一种简单易懂的:          首先以键值对的形式在appsettings里添加一条配置信息,接着Startup里注入配置接口:          做完如上操作以后,我们就可以在控制器里去完成读取我们的配置了:            页面上使用viewbag就不截图了,按图操作配置妥妥的可以取出来。
785 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4485 0
DotNetBar如何控制窗体样式
DotNetBar如何控制窗体样式                                         老帅  在C#中使用控件DevComponents.DotNetBar时,如何创建一个漂亮的窗口,并控制窗体样式呢? 1.新建一个DotNetBar窗体           2.使OFFICE窗口风格生效  如果运行时还是默认窗体风格,而不是offfice风格,可禁用系统的Glass主题即可。
878 0
【nodejs】让nodejs像后端mvc框架(asp.net mvc )一样处理请求--控制器的声明定义和发现篇(3/8)
文章目录 前情概要 前面文章把路由已经介绍的差不多了,包括url映射,路由选择等。接下来讲一讲controller的一些基本规则 BaseController的所有代码都在这里拉。相当简单。 主要逻辑:我们的组件接到请求后,根据url规则找到对应的controller和要处理的请求的action后,直接new一个controller出来,把req,res等对象传递给controller对象。
753 0
控制台安装跟检测Microsoft.Net Framework
1、检测 每一个版本的.Net Framework的安装过程都会在Windows目录下的\Microsoft.NET\Framework目录中生成一个子目录(安装目录)。 比如说,假设Windows目录在C盘且不曾在安装OS时重命名过Windows目录,那么.Net Framework 3.5的安装目录应该是: C:\Windows\Microsoft.NET\Framework\v3.5 在这个目录下应该有一个该版本的MSBuild.exe,我们执行 MSBuild /version 应该能得到版本信息。
1025 0
DotNetBar.Bar控件Y方向上的顺序控制
DotNetBar.Bar控件Y方向上的顺序控制                                                                                                  老帅       控件DevComponents.DotNetBar.Bar是可以有多种用途的,可以作为容器,也可以作为工具条,无论做什么,在Y方向上都是有顺序的,这会影响UI效果。
772 0
+关注
niunan
没有什么网站是数据库增删查改做不了的,如果有,那就不接这单!
232
文章
10
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载