我正在ASP.NET Web API控制器中创建HTTP Partial方法,并阅读了有关如何实现HTTP Partial方法的文档http://benfoster.io/blog/aspnet-core-json-patch-partial-api-updates在控制器中。当我点击HTTP Partial端点时出现异常这是我在控制器中的Patch方法的代码:[HttpPatch("{userId}")]public IActionResult Patch([FromRoute(Name = "userId")]Guid userId, [FromBody] JsonPatchDocument<User> userProperties){ var indexOfUserToPartiallyUpdate = UsersInMemory.List.FindIndex(user => user.Id == userId); if (indexOfUserToPartiallyUpdate == -1) { return BadRequest($"user with {userId} not found."); } var originalUser = UsersInMemory.List[indexOfUserToPartiallyUpdate]; userProperties.ApplyTo(UsersInMemory.List[indexOfUserToPartiallyUpdate], ModelState); if (!ModelState.IsValid) { return new BadRequestObjectResult(ModelState); } var model = new { beforePatch = originalUser, afterPatch = UsersInMemory.List[indexOfUserToPartiallyUpdate] }; return Ok(model);}这是我在HTTP PATCH请求中通过邮递员发送的JSON正文:我觉得我需要在Startup.cs文件中做一些事情,例如配置JsonPatchDocument,但我不知道如何做。任何帮助深表感谢。
1 回答
呼如林
TA贡献1798条经验 获得超3个赞
我想我找到了您的问题:“请注意,即使您只发送一个操作,我们也会始终发送一系列操作。”
尝试在以下位置更改您的请求:
[
{
"op": "replace",
"path": "/email",
"value": "THIS_SOME_OTHER_EMAIL@gmail.com"
}
]
- 1 回答
- 0 关注
- 162 浏览
添加回答
举报
0/150
提交
取消