Метод api put создает значения по умолчанию для неопределенных параметров в теле запроса - PullRequest
0 голосов
/ 28 января 2020

Допустим, я хочу обновить свою запись в БД для someModel.

[HttpPut("{id}")]
    public async Task<ActionResult<SomeModel>> EditsomeModel(int id, [FromBody] SomeModel modelFromBody)
    {   
        //Get excisting model by id.
        var updatedModel = await _context.DBTable.FindAsync(id);

        //Update it with values from request body ? 
        updatedModel.SomeParameters = modelFromBody.SomeParameters

        _context.Entry(updatedModel).State = EntityState.Modified; 
        _context.DBTable.Update(updatedModel);
        _context.SaveChanges();
        return updatedModel;
    }

put request in postman

Но проблема в том, что модель может иметь больше параметров, а не только те, которые отправлены по запросу PUT в почтальоне. Это может иметь param3, param4, et c ..

И modelFromBody устанавливает их как Null (или другое значение по умолчанию). Как правильно сопоставить эти два объекта? Таким образом, он только обновляет те параметры, которые были установлены в запросе PUT

Какую концепцию я ищу здесь?

Редактировать:

Нашел именно то, что мне нужно в документации. Но, к сожалению, это не показывает, как заставить Editcenar ios работать.

text from documentation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...