Тестовое задание: GameLibrary от АПРИКОД
Go to file
2024-10-03 15:18:15 +05:00
Controllers Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
Data Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
Models Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
Repositories Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
appsettings.Development.json Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
appsettings.json Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
GameLibrary.csproj Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
GameLibrary.db DB for tests 2024-10-03 14:22:37 +05:00
GameLibrary.sln Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
Program.cs Create HTTP REST API for Game Library 2024-10-03 14:22:21 +05:00
readme.md Add readme.md 2024-10-03 15:18:15 +05:00

Тестовое задание для "АПРИКОД"

Реализовать HTTP REST API для обеспечения работы библиотеки видеоигр. В приложении должны быть реализованы CRUD операции с играми:

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

Запись об игре содержит данные:

  • название,
  • студия разработчик,
  • 1 или более жанров, которым соответствует игра.

При выполнении задания требуется использовать:

  • ASP.NET Core для реализации HTTP REST API приложения,
  • Entity Framework Core для работы работы с любой реляционной базой данных.

Примечание:

  • Entity Framework Core рассматривается как заменяемая зависимость, поэтому ожидается абстрагирование от него.

Ответ

Реализовал контроллер Games подерживающий CRUD

Create

POST /api/games
Content-Type: application/json

{
    "Title": "God of War",
    "Developer": "Santa Monica Studio",
    "Genres": ["Action", "Adventure", "RPG"]
}

Read all

GET /api/games

Read one

GET /api/games/5

Update

PUT /api/games/1
Content-Type: application/json

{
    "Id": 1,
    "Title": "The Legend of Zelda: Breath of the Wild (Updated)",
    "Developer": "Nintendo",
    "Genres": ["Action", "Adventure", "Open World"]
}

Delete

DELETE /api/games/2