4

我在一所学校的课程和学生之间存在多对多的关系。这是我的课程:

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; }
}

我正在使用 JsonPatch 修补我的对象。我正在尝试添加到集合中Students,就在集合的末尾:

[
  {
    "op": "add",
    "path": "/Students/-",
    "value": [
       { 
         "CourseId": "07264DC9-9FEB-42E2-B1EF-08D58F58C873", 
         "StudentId": "FB6E6988-4A56-4CA4-86E2-E23090FAD98F"
       }
     ]
  }
]

但是当我提交这个时,我得到一个例外说:

"ClassName": "Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException",

"消息": "值 '[\r\n {\r\n \"CourseId\": \"07264DC9-9FEB-42E2-B1EF-08D58F58C873\",\r\n \"StudentId\": \" FB6E6988-4A56-4CA4-86E2-E23090FAD98F\"\r\n }\r\n]' 对目标位置无效。",

根据 Json Patch 文档,该结构对我来说是正确的。知道为什么它不接受我的格式吗?

4

1 回答 1

2

最终弄清楚了,格式应该是:

[
  {
    "op": "add",
    "path": "/Students/-",
    "value":
       { 
         "CourseId": "07264DC9-9FEB-42E2-B1EF-08D58F58C873", 
         "StudentId": "FB6E6988-4A56-4CA4-86E2-E23090FAD98F"
       }
  }
]
于 2018-03-21T22:33:44.423 回答