c# - 如何将 ModelState 与 JsonPatchDocument.Applyto 一起使用
问题描述
我在 Microsoft 文档和他们调用 JsonPatchDocument.ApplyTo(patchObject, ModelState) 的许多示例中看到,但我似乎无法让它以这种方式构建。我收到一个构建错误,提示“错误 CS1503 参数 2:无法从 'System.Web.Http.ModelBinding.ModelStateDictionary' 转换为 'System.Action'”
我引用的是 Microsoft.AspNetCore.JsonPatch v2.2.0,示例代码来自这里:
https://docs.microsoft.com/en-us/aspnet/core/web-api/jsonpatch?view=aspnetcore-2.2
[HttpPatch]
public IActionResult JsonPatchWithModelState(
[FromBody] JsonPatchDocument<Customer> patchDoc)
{
if (patchDoc != null)
{
var customer = CreateCustomer();
patchDoc.ApplyTo(customer, ModelState);
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
return new ObjectResult(customer);
}
else
{
return BadRequest(ModelState);
}
}
解决方案
您必须为 .Net Core 添加 Newtonsoft 软件包
Microsoft.AspNetCore.Mvc.NewtonsoftJson
dotnet add package Microsoft.AspNetCore.Mvc.NewtonsoftJson
推荐阅读
- python - 迭代创建字典的麻烦
- r - 如何在 R 的单列中通过字符串标签对行值进行子集化?
- c++ - C++ SDL2 上的 Makefile
- php - 为什么此任务在 Windows 10 中并非每分钟都运行?
- javascript - chartjs & asp.net:无法读取未定义的属性“标签”
- jenkins - Jenkins 摘要显示插件的问题
- flutter - 如何让细胞的整个区域都感知到触摸?
- react-native - 对齐输入文本以从左侧开始,如占位符文本
- java - Java Spring-BOOT:HTTP处理程序旁边的主循环
- azure-iot-hub - Azure IoT 中心令牌格式和选项