1

初めて ASP.NET MVC で小さなプロジェクトを実行しています。次のことを行う REST API の作成を依頼されました。

  • " " で POST リクエストを受け入れ/json/party/:accomodation/joinます。:accomodation は ID です

API で :accomodation パラメーターの解析を処理する方法を理解しました。リクエストボディの読み方がわかりません。たとえば、私の API コンシューマは、次のリクエスト本文を使用してこの URL に投稿したいと考えています。

 { "user": 
    { 
        "name": "Hans van Dam",
        "email": "hans@test.nl",
        "straat": "Test street",
        "nummer": "10",
        "woonplaats": "Amsterdam",
        "telefoon": "0687217612",
        "newsletter": true
    },
    "party": {
        "rsvp": 1
        "time": 1370941687
    }
 }

次に、このリクエスト本文を読み取り、解析してオブジェクトに戻す必要があります。ASP.NET MVC でこれを行うにはどうすればよいですか?

4

1 に答える 1

3

MVC と Web API は "モデルバインダー" を使用してリクエストを解析し、コントローラーで呼び出されるアクション メソッドにパラメーターを提供します。リクエスト本文を受け入れるには、想定している JSON をモデル化し、それをアクション メソッドのパラメーターとして使用するだけです。

public class User
{
    public string Name { get; set; }
    // etc
}

public class Party
{
    public bool Rsvp { get; set; }
    // etc
}

public class JoinRequest
{
    public User User { get; set; }
    public Party Party { get; set; }
}

次に、コントローラーで:

public HttpResponseMessage MyApiEndpoint(string accommodation, JoinRequest joinRequest)
{
    // use joinRequest, i.e.
    // joinRequest.User.Name
}
于 2013-06-25T18:48:06.473 に答える