我是编程新手。我阅读了有关.net核心API的教程,但我注意到每一篇教程都仅展示了如何将实体类作为参数传递。如果我要传递如下所示的实体类组合,是否表示我需要向服务器提交多个发布请求?
JSON:
{
"postId": "123",
"postText": "test item",
"items": [
{
"itemId": "t3st",
"postId": null
},
{
"itemId": "t3st3",
"postId": null
}
] }
C#:
public class Post
{
[Key]
public string postId { get; set; }
public string postText { get; set; }
}
public class Item
{
[Key]
public string itemid{ get; set; }
public string postId { get; set; }
}
public IActionResult Post([FromBody] Post post)
{
return Ok(data);
}
答案 0 :(得分:2)
public class Post
{
[Key]
public string postId { get; set; }
public string postText { get; set; }
public List<Item> items {get; set;}
}
public class Item
{
[Key]
public string itemid{ get; set; }
public string postId { get; set; }
}
您需要像上面那样更改对象
然后您需要返回类型List<Post>
答案 1 :(得分:0)
您也可以创建一个viewModel来将json解析为一个对象。像这样。
public class Post
{
[Key]
public string postId { get; set; }
public string postText { get; set; }
public IEnumerable<Item> items {get; set;}
}
public class Item
{
[Key]
public string itemid{ get; set; }
public string postId { get; set; }
}
public IActionResult Post([FromBody] Post post)
{
var entity = JsonConvert.DeserializeObject<PostViewModel>(post.ToString())
return Ok(data);
}