Я довольно новичок в этом материале веб-API, и я пытаюсь настроить простые HTTP-запросы к локальной базе данных на своем компьютере. У меня есть запрос GET, который выглядит следующим образом:Запрос HttpPut на C#
[HttpGet]
[Route("")]
[Route("{ID:int}")]
public IQueryable<ListTable> Get(int id = -1)
{
if(id == -1)
return db.ListTables;
else
return db.ListTables.Where(lt => lt.ID == id);
}
Это просто возвращает все элементы в базе данных или один элемент, относящийся к указанному идентификатору. Теперь я пытаюсь сделать запрос на отправку, где я могу добавить новый элемент в базу данных или отредактировать элемент, связанный с определенным идентификатором. Я пытался что-то вроде этого:
[HttpPut]
[Route("{ID:int}")]
[Route("{ID:int}/{TITLE:string}")]
[Route("{ID:int}/{TITLE:string}/{DESCRIPTION:string}")]
public ListTable Put(int id = -1, string title = null, string descr = null)
{
//if ID == -1 add a new item to the DB
//else add title and description to the item with the specified ID
}
Я немного не уверен в том, чтобы добавить новый элемент в базу данных и сохраните изменения. Я пробовал что-то вроде db.ListTables.Add(new ListTable())
и db.SaveChanges()
, но они, похоже, ничего не спасли, потому что, когда я снова вызвал метод Get()
, нового элемента не было.
вы уверены, что тело метода выполняет – MstfAsan
я думаю, не есть ли легко?. способ убедиться в этом? –
Я использую расширение Postman для Chrome, чтобы вызвать эти методы, поэтому я не понимаю, почему тело не будет выполняться. –