9

次の単純なシナリオをサポートするために必要なルーティング構成を理解するのに苦労しています。

http..service/api/objects/key1/key2

私はすべてを試したような気がします。

最大の問題は、私がそれを割ったように見えるときはいつでも、私はそれを見つけるということです

http..service/api/objects/key1 

パラメータのないIQueryableGetにルーティングされます。

4

1 に答える 1

4

私はそれを釘付けにしたと思います。

routes.MapHttpRoute(
    name: IQueryableObjectsApiRouteName,
    routeTemplate: "api/objects",
    defaults: new { controller = "objects" }
);

routes.MapHttpRoute(
    name: ObjectsApiRouteName,
    routeTemplate: "api/objects/{siteId}/{assetId}",
    defaults: new { controller = "objects", siteId = "", assetId = "" }
);

複合キーを使用して、各コントローラーへの2つの明示的なルートを設定する必要があります。キーのデフォルト値は「」です。これはコントローラーで検出され、独自の404をスローします。

わたしにはできる。私は今昼食に行くことができます。

于 2012-07-05T13:01:04.883 に答える