该问题可能是由于未将ModelState传递到API调用中导致的。可以使用以下代码示例将ModelState添加到请求中:
public async Task PatchMyEntity(int id, JsonPatchDocument patchDocument)
{
// 获取要更新的实体
MyEntity entity = await _repository.GetById(id);
if (entity == null)
{
return NotFound();
}
// 验证传入的Patch文档
patchDocument.ApplyTo(entity, ModelState);
TryValidateModel(entity);
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
// 更新实体
await _repository.Update(entity);
return Ok();
}
在上面的代码示例中,我们在调用ApplyTo方法时传递了ModelState,然后使用TryValidateModel方法对实体进行验证。如果验证失败,就可以将ModelState作为BadRequest的结果返回。