0

私は、典型的なCRUD機能を必要としないAPIのセットを設計しています。クライアントにデータを提供するだけでよく、これには、バックエンドデータベースからフェッチされたデータにさまざまなフィルターを適用することが含まれます。たとえば、現在私は次のAPIを持っています:

Service.asmx/GetEvents

次の署名があります。

public CustomObject GetEvents(string Location = "", string Company = "", string PersonType = "", string FromDate = "", string ToDate = "")
{
    ....
}

すべてのAPIがこのようになっている場合、MVC4 Web APIをどのように使用しますか?私は現在、APIを公開するためだけにプロジェクトとWebサービスの残りの部分でAVC4を使用していますが、これは間違った方法であると確信しています。私は現在のサービスに満足していますが、SOとブロゴスフィアのあちこちにいくつかの投稿があり、それが将来であるため、WebAPIが進むべき道であることがわかりました。助言がありますか?

4

1 に答える 1

1

ApiControllerから派生したコントローラーを作成し、アクションを公開します。フィルタロジックをモデルにカプセル化することもできます。

public class Filter
{
    public string Location { get; set; }
    public string Company { get; set; }
    public string PersonType { get; set; }
    public string FromDate { get; set; }
    public string ToDate { get; set; }
}

およびコントローラー:

public EventsController: ApiController
{
    public CustomObject Get(Filter filter)
    {
        ...
    }
}

デフォルトルートを想定すると、APIはで使用できるようになります/api/events

Web APIについて詳しく知りたい場合は、公式サイトhttp://www.asp.net/web-apiから始めることをお勧めします。

于 2012-07-07T07:31:15.997 に答える