2011-11-09 6 views
2

openRastaフレームワークの新機能です。私はこれらの2つのGETs.My構成の異なる情報を必要とするようProject.Iというリソースは、このリソース上で行われるGETの2つの異なる種類を持っている持っていることは オープンハンドラのGetメソッドの優先度はリソースハンドラで

このような
ResourceSpace.Has.ResourcesOfType<IList<Project>>() 
    .AtUri("/projects") 
    .And.AtUri("/miniprojects") 
    .HandledBy<ProjectHandler>() 
    .AsJsonDataContract() 
    .And.AsXmlDataContract(); 

で、ハンドラの私の方法は以下の通りです

[HttpOperation(HttpMethod.GET, ForUriName = "/projects")] 
public OperationResult GetProjectsList() 
{ 
} 

[HttpOperation(HttpMethod.GET, ForUriName = "/miniprojects")] 
public OperationResult GetMiniProjectList() 
{ 
} 

私は、ハンドラクラスのgetXXXメソッド名を持つ非常に最初のメソッドは毎回呼び出されます)私のURLは、たとえばhttp://localhost/projectshttp://localhost/miniprojectsのためにあるものは何でも、このリソースにいくつかのGETをやっている時はいつでも。ハンドラファイルでGetXXXメソッドのシーケンスを変更すると、もう一方のメソッドが呼び出されます。
私の質問は、どのGetXXXメソッドを呼び出すかをHandlerのメソッドの順序で決めるのですか?さらに、スニペットで述べたようにGetXXXメソッドごとに異なる "ForUriName"をHttpOperation属性に指定しましたが、それでもシーケンスが優先されました。

この問題を解決するお手伝いができますか?または、私が何かを逃しているかどうか知らせてください。

ありがとうございます。

答えて

3

もし2つのURIを区別することができないなら、私たちは全く順序を保証しません。

あなた本当には、あなたのURIは名前付きビットが一致する必要がある名前

.AtUri("/miniprojects").Named("miniprojects") 

に登録する必要があり、(異なるリソースをモデル化するために対立するものとして)このようにURIルートを使用したい場合属性

[HttpOperation(ForUriName="miniprojects")] 
+0

解決策をお寄せいただきありがとうございます。 – prashant