public async Task <IActionResult> Update(int id, [FromBody] WeaponResource resource) { if (id < 1) { throw new BadArguementException($"Supplied ID is below starting value (Supplied: {id}, Required: id >= 1)."); } if (resource == null) { throw new ArgumentNullException("resource", "Supplied WeaponResource is null."); } if (!ModelState.IsValid) { throw new InvalidModelException(ModelState.ValidationState.ToString()); } if (id != resource.ID) { throw new ArgumentNullException("resource.ID", "Supplied WeaponResource.ID is null."); } await _service.Update(id, resource); return(NoContent()); }