0

MVC4 を初めて使用し、WebService を作成しようとしています。ただし、これを試してみるとhttp://localhost:****/api/mycontroller/?number=1&id=7 、URL からデータを取得する方法がありません。

これら2つの変数を取得するにはどうすればよいですか? Request.QueryString["ParameterName"]エラーになる場合、この関数は認識されません。

ありがとう。

4

1 に答える 1

2

RESTfulアプリケーションの構築を可能にするWebApiを参照していると思います。はいの場合、はインポートされないため、にはRequestオブジェクトすらありません。ApiControllerでのControllerメソッドの動作は、apiメソッドがHTTPメソッドとして使用または呼び出されるという点で、MVCコントローラーとは異なります。だからあなたが持っているなら:ApiControllerSystem.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年前に作成されたものですが、それでも最初から始めるのに適したリソースです。

于 2013-03-22T02:53:25.103 に答える