public async Task <ActionResult <ManipulationResult <FileFormat> > > PatchFileFormatAsync(int id, [FromBody] JsonPatchDocument <FileFormat> fileFormatPatch) { if (fileFormatPatch is null) { return(BadRequest()); } var userIdClaimed = HttpContext.User.Identity.GetUserIdClaim(); if (userIdClaimed is null) { return(BadRequest()); } // create empty fileFormat .. var patchedFileFormat = new FileFormat(); // .. and apply patch on it fileFormatPatch.ApplyTo(patchedFileFormat); if (!TryValidateModel(patchedFileFormat)) { return(BadRequest("Patch syntax invalid")); } var patchResult = await _fileFormatService.UpdateFileFormatAsync(userIdClaimed.Value, id, patchedFileFormat); if (patchResult is null) { return(BadRequest("Tried to update non updateable attributes")); } return(Ok(patchResult)); }