Мне интересно, можно ли разработать RESTful API для игры в ti c ta c toe. Я хочу предоставить пользователям возможность создавать новые игры, делать ходы, а также сделать запрос на участие ИИ в игре.
В настоящее время у меня есть
POST /users/{id}/games
With Response
{
"id": 1,
"board": "_________",
"nextPlayer": "X",
"movesLeft": [0, 1, 2, 3, 4, 5, 6, 7, 8],
...
}
имеет смысл предоставить опцию «разместить ход», например, такую:
PATCH /users/{id}/games/1
{
"board": "____X____"
}
Если я выдаю запрос PATCH, предоставляя только новую доску, можно ли серверу сохранить это, удалите значение из свойства MoveLeft, измените, кто является nextPlayer, и т.д. это основано на бизнес-логике c?
Также, RESTful выставить конечную точку:
POST /users/{id}/games/1/ai/moves
, которая в основном делает ход на доске, меняет все соответственно, возвращает 303 См. Другое и делает заголовок Location
в заголовках ответа, чтобы указать на измененный игровой ресурс - / возможно, даже немедленно возвращает измененную игру /
Я был бы очень признателен за любые ссылки, источники, b записи в журнале, примеры