MVC4 を初めて使用し、WebService を作成しようとしています。ただし、これを試してみるとhttp://localhost:****/api/mycontroller/?number=1&id=7
、URL からデータを取得する方法がありません。
これら2つの変数を取得するにはどうすればよいですか?
Request.QueryString["ParameterName"]
エラーになる場合、この関数は認識されません。
ありがとう。
MVC4 を初めて使用し、WebService を作成しようとしています。ただし、これを試してみるとhttp://localhost:****/api/mycontroller/?number=1&id=7
、URL からデータを取得する方法がありません。
これら2つの変数を取得するにはどうすればよいですか?
Request.QueryString["ParameterName"]
エラーになる場合、この関数は認識されません。
ありがとう。
RESTfulアプリケーションの構築を可能にするWebApiを参照していると思います。はいの場合、はインポートされないため、にはRequest
オブジェクトすらありません。ApiControllerでのControllerメソッドの動作は、apiメソッドがHTTPメソッドとして使用または呼び出されるという点で、MVCコントローラーとは異なります。だからあなたが持っているなら:ApiController
System.Web.Mvc
[HttpGet]
public int Count(int id)
{
return 50;
}
public string Get(int id)
{
return "value";
}
フレームワークは両方のメソッドを同じものと見なすため、カスタムルートを追加しないと、デフォルトでは機能しません。質問に関連して、デフォルト以外のGETでクエリ文字列をキャプチャする場合はGet(int id)
、Dave Aが述べたように、メソッドパラメータとして次のように定義する必要があります。
public string GetByNumberAndId(int number, int id) {
return "somevalue";
}
そして、今行っているのと同じようにメソッドを呼び出すことができます。
http://localhost:****/api/mycontroller/?number=1&id=7
WebApiの詳細については、公式サイトを参照してください。このチュートリアルは、1年前に作成されたものですが、それでも最初から始めるのに適したリソースです。