I started learning C# and I want to update my model using the [HttpPost] annotation. I tried removing the [FromBody]Item itm parameter and the fields on the repository but it's not working either. Below is my code.
Controller:
       [HttpPost("{id}")]
        public ActionResult<Item> UpdateItem([FromBody]Item itm, int id)
        {
            var getItem = _repository.GetItemById(id);
            if (getItem == null)
            {
                return NotFound();
            }
            _repository.UpdateItem(itm);
            _repository.SaveChanges();
            return Ok(getItem);
        }
Repository:
        public void UpdateItem(Item itm)
        {
            if (itm == null)
            {
                throw new ArgumentNullException(nameof(itm));
            }
            var itemToUpdate = this.GetItemById(itm.Id);
            if (itm.Name != null)
            {
                itemToUpdate.Name = itm.Name;
            }
            itemToUpdate.Price = itm.Price;
            itemToUpdate.Condition = itm.Condition;
            itemToUpdate.Size = itm.Size;
            itemToUpdate.DateSold = itm.DateSold;
            itemToUpdate.SellMethod = itm.SellMethod;
            
            _context.Items.Update(itemToUpdate);
        }
Interface:
void UpdateItem(Item itm);
Model:
        public int Id { get; set; }
        [Required]
        public string Name { get; set; }
        public int Price { get; set; }
        public string Condition { get; set; }
        public string Size { get; set; }
        public string DateSold { get; set; }
        public string SellMethod { get; set; }
 
    