Ste*_*ven 5 c# json json-patch .net-core asp.net-core
我在一所学校的课程和学生之间存在多对多关系。这是我的课程内容:
public class Course
{
public Guid CourseId { get; set; }
public string Name { get; set; }
public ICollection<CourseStudent> Students { get; set; }
}
public class CourseStudent
{
public Guid CourseId { get; set; }
public Guid StudentId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 JsonPatch 来修补我的对象。我正在尝试添加到 的集合中Students,只是添加到集合的末尾:
[
{
"op": "add",
"path": "/Students/-",
"value": [
{
"CourseId": "07264DC9-9FEB-42E2-B1EF-08D58F58C873",
"StudentId": "FB6E6988-4A56-4CA4-86E2-E23090FAD98F"
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
但是当我提交这个时,我收到一个例外:
"ClassName": "Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException",
"Message": "值 '[\r\n {\r\n \"CourseId\": \"07264DC9-9FEB-42E2-B1EF-08D58F58C873\",\r\n \"StudentId\": \" FB6E6988-4A56-4CA4-86E2-E23090FAD98F\"\r\n }\r\n]' 对于目标位置无效。",
根据 Json Patch 文档,该结构对我来说看起来是正确的。知道为什么它不接受我的格式吗?
最后弄清楚了,格式应该是:
[
{
"op": "add",
"path": "/Students/-",
"value":
{
"CourseId": "07264DC9-9FEB-42E2-B1EF-08D58F58C873",
"StudentId": "FB6E6988-4A56-4CA4-86E2-E23090FAD98F"
}
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2813 次 |
| 最近记录: |