PHP や iOS から簡単に呼び出せるようにするために、REST サービスとして .Net で認証プロバイダーを作成しています。MVC Web API ライブラリを使用しましたが、すべて正常に動作し、ブラウザなどからメソッドを呼び出すことができます。
しかし、 curl -d "something=something" hxxp://myendpoint/apiを使用して cURL から POST メソッドを呼び出そうとすると、 -d を使用してメッセージ本文で渡されたデータが Web API クラスのメソッドと一致するように解釈されず、このフォーム タイプのフィールドにアクセスする方法がわかりません。
サードパーティのライブラリから来ており、正しいように見えるため、curl 呼び出しを変更できませんが、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 ではできないことですか? カスタム アクション セレクター クラスを作成する必要はありますか?