1

URIまたはURLパラメーターを持つアクションを持つApiControllerが欲しいのですが。

http://testserver/api/Controller?id=http://www.stackoverflow.com

次のようなアクションを実装しました:

public bool Get(string id)
{
  ...
}

また

public bool Get(Uri id)
{
  ...
}

ただし、上記のようにURLを呼び出すと、400-エラー-不正なリクエストが発生します。

4

2 に答える 2

2

あなたが説明している問題を再現することはできません。これは機能するはずです。これが私が試したステップです:

  1. 空のテンプレートを使用して、新しいASP.NETMVC4アプリケーションを作成します
  2. Apiコントローラーを追加します。

    public class ValuesController : ApiController
    {
        public HttpResponseMessage Get(Uri id)
        {
            return Request.CreateResponse(HttpStatusCode.OK, id);
        }
    }
    
  3. アプリケーションを実行し、に移動します/api/values/?id=http%3A%2F%2Fwww.stackoverflow.com

  4. idパラメーターはGetaction引数に正しくバインドされています

では、問題を再現するための手順を教えてください。

于 2012-09-15T16:14:10.993 に答える
0

問題は、VS統合Webサーバーである「Cassini」を使用したことのようです。IIS Expressで実行するとすぐに、機能しました。

于 2012-09-15T16:42:54.293 に答える