私はモバイルアプリケーションと対話するためのノンコアwebapiプロジェクトを作成しました。たとえば、Dataというコントローラを作成した場合、以下のようなSearchというメソッドがあります。プロジェクトはjsonデータを送受信するように構成されています。は、asp.net core webapiのポストメソッドに投稿することができます
[HttpPost]
public Searchresult search(SearchQuery s)
{
// code to search
return sr; //object of type Searchresult
}
私は同様に、私は、コントローラ内の他の機能を作成し、ルート「/ API/[制御]を使用して呼び出すことができ、次のURL http://localhost/api/Data/search
を使用して郵便配達を使用して、この方法にPOSTリクエストを送信することができます/[アクション]'。
私はasp.netcore web apiプロジェクトで同じことをすることができませんでした。ルーティングはコントローラーレベル、つまり '/ api/[コントローラー]'でした。投稿するたびにpostメソッドだけがヒットしました。次のように実装されています。私は「http://localhost/api/Data」に投稿するときに、私は「http://localhost/api/Data/test」
[HttpPost]
public string test([FromBody] testclass t)
{
return "{\"a\":\""+t.a+"\",\"b\":\""+t.b+"\"}";
}
これはCore Apiの「通常の」動作ではないため、ルートに問題がある可能性があります。また、提供されているコードでカバーされていない問題もあります。問題があると思われる特定のシナリオに固執し、実際のコードを投稿することは、ダミーのサンプルコードを作成することにより、実際のコードで直面している問題を解消するか、そうでなければあいまいにすることがあります。 –
実際これは私の実際のコードです。実際のプロジェクトの実装を開始できるように、コアWeb APIをテストするためのダミープロジェクトを作成しました。 –