ODataエンドポイントを作成しました(エンティティフレームワーク、WCFデータサービスを使用)
次のようなカスタムテストWebGetテストメソッドを追加しました。
[WebGet(UriTemplate = "{text}")]
public IQueryable<string> SplitString(string text)
{
if (text == null) throw new DataServiceException("text not specified");
var result = (from s in text.Split('-') orderby s select s);
return result.AsQueryable();
}
および構成行:
config.SetServiceOperationAccessRule("SplitString", ServiceOperationRights.All);
ただし、URLをどのように指定しても、テキストパラメータを入力することはできません。(常にnullです)。
だから:
http://localhost/myservice.svc/SplitString/testtext
動作しません(パラメータがnullであるため、例外がスローされます)。パラメータを機能させるために使用する必要がある正しいURL形式(またはUriTemplate)は何ですか?
私が見つけたodataとWebGetの唯一の例には、パラメーターを持たないサンプルメソッドしかありません。