我第一次在ASP.NET MVC中做一个小项目。我被要求创建一个REST API,它执行以下操作:
- 在"
/json/party/:accomodation/join
"上接受POST请求,其中:住宿是一个ID
我已经找到了如何让我的API处理:accommodation参数的解析。我只是不知道如何阅读请求正文。例如,我的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中做到这一点?
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
}