【发布时间】:2013-03-28 18:48:12
【问题描述】:
我正在.Net 中编写一个身份验证提供程序作为 REST 服务,以便更轻松地从 PHP 和 iOS 调用。我使用了 MVC Web API 库,一切正常,我可以从浏览器等调用方法。
但是当我尝试使用 curl -d "something=something" hxxp://myendpoint/api 从 cURL 调用我的 POST 方法时,使用 -d 在消息正文中传递的数据不会被解释匹配我的 Web API 类中的方法,我看不到如何访问此表单类型字段。
我无法更改 curl 调用,因为它来自第 3 方库并且似乎是正确的,但尽管我知道 Web API 的设计仅将 uri 参数与操作匹配,但我不明白为什么我不能从 Request 对象访问表单数据(或者我可以?)
[HttpPost] public AccessToken Post() {} // Matches but can't access form data
[HttpPost] public AccessToken Post2(string something) {} // Doesn't match, no parameter in curl uri querystring
[HttpPost] public AccessToken Post3(ModelWithOnePropertyCalledSomething data) {} //Matches but can't access form data
这真的是 Web API 无法实现的吗?我必须编写自定义动作选择器类吗?
【问题讨论】:
-
您可以访问 .NET 代码和 PHP 代码?
-
我可以看到 PHP 代码,但这不是我要更改的代码。我拥有 .Net 代码。
标签: php asp.net rest curl asp.net-web-api