我正在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": "[email protected]"
}
]
- 1 回答
- 0 關注
- 177 瀏覽
添加回答
舉報
0/150
提交
取消