私のかなり限られた OpenRasta の経験では、.And メソッドを使用して、.AtUri リソースの場所を追加できます。
つまりあなたの場合
ResourceSpace.Has
.ResourcesOfType<Request>()
.AtUri("/processing").And.AtUri("/processing/{processid}")
.HandledBy<SomeHandler>()
.TranscodedBy<SomeCodec>();
{中かっこ} は、Handler メソッドの入力パラメーターを指定します。つまり、次のようになります。
public class SomeHandler
{
public Request Get(int processid = 0) //specify a default value for the uri case /processed
{
if (processid == 0)
return Context.Set<Request>().ToList(); //Context comes from my DbContext derived class which is part of my entity model.
else
return GetRequestFromProcessId(processid) //this is a private method in your handler class using Linq to SQL to retreive the data your interested in. I can't see your handler so I'm making it up.
}
}
OpenRasta のドキュメントで、一致する Type と Handler ごとに destinct (1 つだけ) の ResourceSpace 定義が必要であると指定されたメモを見つけました。つまり、同じ ResourceOfType クラスを同じ HandledBy ハンドラー クラスで複製してはなりません。私はこれをテストしましたが、それが事実であり、おそらくそもそもなぜあなたが質問をしているのか.
注意: このコードは完全にテストされていません。私が書いたもののパターンを取り、既知のクラスと uri に置き換えました。また、これは、HTTP GET 動詞からデータを取得しようとしていることも前提としています。他の貢献者は POST ルートをたどりましたが、指定していません。