首页 新闻 会员 周边 捐助

Web Api在POST请求时,当参数类型是简单类型,不能从request body获取的问题

0
悬赏园豆:20 [已解决问题] 解决于 2013-10-15 09:55

同一个请求

 

[HttpPost]
public bool InsertSingle(Answer answer)
{
    //正确
}

 

[HttpPost]
public bool InsertSingle(int AID,int QID)
{
    //错误(404)
}

这个问题在博客园见过比较多的讨论:
http://www.cnblogs.com/dudu/archive/2012/07/12/asp_net_web_api_json.html

http://www.cnblogs.com/xiaoweiyu/archive/2012/06/12/2546116.html

时至今日,有没有什么简单优雅的方法(比如扩展/显式配置某部分)可以让POST请求时,Action参数为简单参数,但是依然可以从request body获取呢?(其实就是像ASP.NET MVC一样就可以,MVC中两种方式都是是正常的)

空葫芦的主页 空葫芦 | 初学一级 | 园豆:9
提问于:2013-10-14 09:40
< >
分享
最佳答案
0

看来微软不打算改了,那只能自己写custom parameter binding

参考:How to write a custom parameter binding to construct an object either from body or from Uri's query

收获园豆:10
dudu | 高人七级 |园豆:30757 | 2013-10-14 10:01
其他回答(1)
1

参数不足补空格行不行,或者加个什么掩码之类,让它变成非简单类型。

收获园豆:10
空明流光 | 园豆:111 (初学一级) | 2013-10-14 09:57

或者所有数据都用json包装一层,然后服务端接到后脱壳就行了

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2013-10-14 10:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册