1

先月ServiceStackを発見したばかりで、この素晴らしいフレームワークでの作業を本当に楽しんでいます。WCF設定と静的メソッドのプロトタイピングに本当にうんざりしていました!

質問があります !

私はクラスを作成しました:次のルートを使用して1つまたはイベントのリストを表示できるイベント:

[Route("/events")]
[Route("/events/{Id}")]
public class Event
{
    public ushort Id { get; set; }   
    public string FromDate { get; set; }
    public string ToDate { get; set; }
}

しかし、同じルートの種類を使用して、2つの日付の間のイベントもリストしたいと思います。実際、ルートはパラメータとしてIdのみを取りますが、FromDateを指定する別のルートを追加したいと思いました:2つの日付の間のすべてのイベントを取得するために次のようなものが機能すると思いました:/ events / 01-01-2012 / 10-01-2012それは動作しません。

さまざまなパラメーター(DTOから取得)に基づいてさまざまなルートを定義できるルートを定義することは可能ですか?

私はルートの管理に慣れていないので、さまざまなパラメータに基づいてさまざまなフィルタリング方法を定義する方法を本当に知りたいと思っています。

助けてくれてありがとう !素晴らしい仕事デミス!

4

2 に答える 2

5

どう[Route("/events/from/{FromDate}/to/{ToDate}")]ですか?

私の現在の考え方はそれらを2つの要求に分割しますが

[Route("/events/{Id}")]
public class GetEventById
{
    public ushort Id { get; set; }
}

[Route("/events/between/{FromDate}/{ToDate}")]
public class GetEventsBetweenDates
{   
    public string FromDate { get; set; }
    public string ToDate { get; set; }
}
于 2013-01-02T20:43:36.800 に答える
0

OnGet()関数で、パラメーターがNULLに設定されているかどうかを確認したいと思います。'?'を追加したとき リクエストデータ型は別として、サービスにアクセスしようとすると「不正なリクエスト」例外が発生しました。

これは、すべてのREQUESTパラメーターが文字列の場合はnull、数値の場合は0、日付の場合は01-01-000などであることを意味します。これは、入力クエリ文字列パラメーターを決定するためにOnGetでテストする必要がある値です。

于 2013-01-16T08:23:09.923 に答える