首页 新闻 会员 周边 捐助

webapi中获取请求参数

0
悬赏园豆:20 [已解决问题] 解决于 2017-05-26 18:37

webapi中如何在request对象里面获取到contenttype为application/json的参数啊?

balahoho的主页 balahoho | 老鸟四级 | 园豆:2050
提问于:2017-05-25 17:55
< >
分享
最佳答案
0

试试 ((HttpContextBase)actionContext.Request.Properties["MS_HttpContext"]).Request.InputStream

 

看看这个好像更好:

http://blog.csdn.net/yuanzhugen/article/details/47448453

收获园豆:10
terry59599s | 菜鸟二级 |园豆:202 | 2017-05-26 15:55
其他回答(4)
0

不用取.写在action方法的参数列表里就行.

https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api

收获园豆:5
吴瑞祥 | 园豆:29449 (高人七级) | 2017-05-25 18:17

这种我知道,我现在要在一个公共的filter里写log,想记录每次请求进来的业务参数,有没有什么好的方法

支持(0) 反对(0) balahoho | 园豆:2050 (老鸟四级) | 2017-05-25 18:40

@balahoho:不可以.webapi的正文只能读取一次.你过滤器里读了.action里就没参数了.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-05-25 19:02

@吴瑞祥: 可是,过滤器里也读不到啊~

支持(0) 反对(0) balahoho | 园豆:2050 (老鸟四级) | 2017-05-26 09:39

@balahoho: 解决方案是用owin模式下的owinrequest上下文.可以重复操作.你以这个为关键字搜一下吧.

之前有遇到这种问题.后来决定不这么干了.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-05-26 13:08
0

http://www.luckyonecn.com/blog/fix_content-type_to_Applicationjson_in_WebApi/ 看看这篇文章

风行天下12 | 园豆:3867 (老鸟四级) | 2017-05-25 18:18

  不是要返回json,是要接收json格式的参数,看一下我回复楼上的

支持(0) 反对(0) balahoho | 园豆:2050 (老鸟四级) | 2017-05-25 18:42
0

但凡这种都必定从 Context 中取到

花飘水流兮 | 园豆:13615 (专家六级) | 2017-05-25 19:30

 几乎把context里的东西找遍了也没发现啊,x-www-form-urlencoded类型的参数倒是可以在request.form中拿到,但是json类型的就不行~

支持(0) 反对(0) balahoho | 园豆:2050 (老鸟四级) | 2017-05-26 09:32
0

在一个公共的filter里通过HttpActionContext.ActionArguments获取action方法的参数,然后写到log

收获园豆:5
诶碧司 | 园豆:1912 (小虾三级) | 2017-05-26 10:13

 这种我知道,有没有比较通用的办法比如在httpcontext里面能拿到的,因为我的需求不仅仅是在filter种

支持(0) 反对(0) balahoho | 园豆:2050 (老鸟四级) | 2017-05-26 10:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册