ahmed_sa Ответов: 1

При передаче id значения put(update) от почтальона оно передается как 0, хотя и имеет значение по ссылке


проблема

при передаче id значения put(update) от почтальона оно передается как 0, хотя оно имеет значение по ссылке ?

i select key from post man as contenttype application/json

and this is my url

https://localhost:44326/api/Employee/put?id=5


и когда поставил точку останова в функции поставить и запустить приложение

он попал в точку останова но id возвращается с 0 хотя у меня есть 5 в моей ссылке

и 5 также существуют в базе данных

при запуске обновления API из angular 6 он дает мне плохой запрос, потому что id проходит мимо 0 ?

почему pass id равен 0 и как решить эту проблему ?

Я работаю с asp.net ядро 2.1 visual studio 2017

и у меня есть эта функция выше на контроллере сотрудника

это только обновление функции (put) для моего контроллера

так что как решить проблему прохождения 0 и

что такое правильная ссылка, Если выше указано неверно ?

Что я уже пробовал:

[Produces("application/json")]
    [Route("api/Employee")]
    public class EmployeeController : Controller
    {
[HttpPut("{id}")]
        public IActionResult PutEmployee(int id, [FromBody] Employee employee)
        {
        
       
         
                if (id != employee.EmployeeId)
            {
                return BadRequest();
            }

           

            try
            {
                _repository.Update(employee);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EmployeeExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return Ok();
        }

1 Ответов

Рейтинг:
2

Member 10947034

https://localhost:44326/api/Employee/5

Выберите глагол "Put" в postman и передайте id только с помощью Слэша 5 (/5).

Нет необходимости явно упоминать операцию и идентификатор.