我有以下类别:的Web API + 4 MVC模型方面的复杂类型结合
public class State
{
public long Id { get; set; }
public string Name { get; set; }
public string Abbreviation { get; set; }
// Navigation Properties
public virtual Country Country { get; set; }
}
public class School
{
public long Id { get; set; }
public string Name { get; set; }
public string Abbreviation { get; set; }
// Navigation Properties
public virtual State State { get; set; }
}
,后面的数据在我的SQL Server
| School| | |
| Id | Name | State |
| 1 | UCLA | 1 |
+-------+-------------+---------------+
| State | | |
| Id | Name | Abbreviation |
| 1 | California | CA |
我试图创建一个休息控制器,该控制器使用Web API使用HTTP POST动词创建学校实例。
public HttpResponseMessage<School> Post(School school)
{
SchoolService.CreateSchool(school);
var response = new HttpResponseMessage<School>(school, HttpStatusCode.Created);
string uri = Url.Route(null, new { id = school.Id });
response.Headers.Location = new Uri(Request.RequestUri, uri);
return response;
}
的Web API正确地从我的网页形式结合我校类的名称和缩写属性和调用控制器中的POST方法,但它不知道如何处理国家类做。我不太清楚如何设置。我希望有一个绑定到国家班级的下拉菜单,当我提交学校的创建时,我现有数据中的正确状态将被分配到新的学校实例。
如何提交'Store'类的值?你能发布HTTP请求细节(标题,表单域和值等)吗? – tugberk 2012-04-04 08:28:05
我遇到同样的问题;我是在一个POST中反序列化一个复杂类型的XML,它会尝试使用ModelBinders而不是默认的XmlMediaTypeFormatter。有人提到JSON可以正常工作 - 您是使用XML还是JSON序列化? – Steve 2012-04-25 15:34:07