Я пытаюсь написать этот контроллер, который принимает запрос POST.
Мне нужен этот контроллер, чтобы добавить новую книгу, а также добавить эти bookId новых книг в другой объект, называемый StoreList.
Поэтому я пытаюсь передать новый bookList и storeListдля этого нужно добавить bookId.
// POST: api/BookList
[HttpPost]
public async Task<ActionResult<BookList>> PostBookList(BookList bookList, StoreList storeList)
{
_context.BookList.Add(bookList);
await _context.SaveChangesAsync();
_context.Entry(storeList).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!StoreListExists(storeId))
{
return NotFound();
}
else
{
throw;
}
}
return CreatedAtAction("GetBookList", new { id = bookList.BookId }, bookList);
}
Вот моя конечная точка API:
https://localhost:44362/api/BookList/
И это два объектаЯ передаю ТЕЛО запроса (новый bookList и существующий storeList):
{
"bookId": "bc381612-c63b-4438-b35b-161a3a568fc7",
"bookTitle": "Is this a test 2?"
},
{
"storeId": "0001f801-6909-4b6e-8652-e1b49745280f",
"bookId": "bc381612-c63b-4438-b35b-161a3a568fc7"
}
Но всякий раз, когда я пытаюсь «поразить» эту конечную точку, я получаю эту ошибку:
System.InvalidOperationException HResult = 0x80131509 Сообщение = Действие 'DocumentStorageAPI.Controllers.Book.BookListController.PostBookList (DocumentStorageAPI)' имеет более одного параметра, который был указан или выведен как связанный с телом запроса. Только один параметр на действие может быть связан с телом. Проверьте следующие параметры и используйте «FromQueryAttribute» для указания границы из запроса, «FromRouteAttribute» для указания границы из маршрута и «FromBodyAttribute» для параметров, которые должны быть связаны с телом: BookList bookList StoreList storeList
Как я могу заставить свой контроллер позволить мне добавить новый bookList и обновить необходимый storeList?
Спасибо!