[AcceptVerbs("Get", "Post")] public IHttpActionResult Create(string id, string name, string tid) { return Ok(); }
怎么让Create支持Get和Post,参数又能同时接受。
不是httpget和httppost吗?方法跟参数没什么关系.只是默认参数是从Querystirng中读取,要从正文中读取得要frombody
和参数的接受方式有关系,如果是post方法(string id, string name, string tid) 这样接参是接不到的。
@jakeys: 这个要看你请求里的传参方式.你都用Querystirng肯定是可以的.
如果你用post并且参数放到正文里.肯定是取不到的.
上下asp.net看webapi
@吴瑞祥: 是的 所以有方式既可以支持get又可以支持post的接参方式吗
@jakeys: o(︶︿︶)o 唉.这个跟get post没关系.是你把参数放在哪里的问题.放在正文里就得用frombody,直接用参数接就得用Querystirng.你上一下asp.net,找webapi看看入门文章,你少很多基本知识.直接在这里说是说不了的.
@吴瑞祥: 可能你误解了我的意思,我这样问吧 指定一个方法的HttpMetend[AcceptVerbs("Get", "Post")]让其同时支持Get和Post,请问参数怎么接。 重点在该方法能同时支持GET和POST
@jakeys: 是你不愿意听我讲..我都说了.这个是传参方式的问题跟get/post没关系.你可以用post的时候就不能用Querystirng传参吗?
这个是基本概念有问题
@吴瑞祥: 诶 基本的我懂,干嘛硬要撇开我提出的问题,而说基本概念有问题呢。
@jakeys: 因为你问的问题不对,后来我想了下,你的问题是怎么让参数既可以从Querystirng读取,也可以从正文读取.是这样吗?
@吴瑞祥: 是的。
@吴瑞祥: 我不应该在问题上面把参数写上去,所以导致会误解题目的意思,所以我才在后面又重新解释。
@jakeys: webapi'是不允许这样的.mvc可以这样,
或者你自己重写model参数绑定部分
或者最简单的,你判断呗,如果是get,你就取querystring,否则就取forms。。。
webapi里不习惯用request去接参
而且指定了[AcceptVerbs("Get", "Post")]用request是接受不到post提交的值。post提交的值是json键值对
直接用一个实体接收。WebAPI会帮你转换的。
用对象只能接受到get传参过来的。
@jakeys: 客户端提交使用json对象提交。