Классический морской бой
- Михаил - @MikeGus
- Владислав - @vla-parfenkov
- Александр - @YAXo-O
- Евгений - @JohnKeats97
Регистрация нового пользователя
/api/users
POST
{
"login": string,
"email": string,
"password": string,
}
В случае успеха возвращает данные нового пользователя
HttpStatus: 201
{
"login": string,
"email": string,
"password": null,
"score": integer
}
В случае, если пользователь с таким логином или почтой уже существует, возвращается вообщение об ошибке
HttpStatus: 400
{
"status": 4,
"response": "User already exists!"
}
Авторизация
/api/login
POST
{
"loginEmail": string,
"password": string,
}
В случае успеха возвращаются данные авторизованного пользователя
HttpStatus 200
{
"login": string,
"email": string,
"password": null,
"score": integer
}
В случае, если логин/почта или пароль неверны возвращается сообщение
HttpStatus 400
{
"status": 1,
"response": "Wrong login/email or password!"
}
Завершение пользовательской сессии
/api/logout
GET
В случае успеха возвращается сообщение
HttpStatus: 200
{
"status": 3,
"response": "You successfully logged out!"
}
вывод информации о текущем пользователе
/api/info
GET
В случае успеха, возвращает данные текущего пользователя
HttpStatus: 200
{
"login": string,
"email": string,
"password": null,
"score": integer
}
В случае, если пользователь не авторизован, выдается сообщение
HttpStatus 200
{
"status": 0,
"You are not currently logged in!"
}
Обновление пользовательских данных
/api/users/{changedUser}
{
"login": string
"email": string,
"password": string,
}
POST
В случае успеха возвращает измененные данные пользователя
HttpStatus: 200
{
"login": string,
"email": string,
"password": null,
"score": integer
}
В случае, если текущий пользователь не является изменяемым, выдается сообщение
HttpStatus: 403
{
"status": 6,
"response": "You have no rights to change this user data!"
}
В случае, если изменяемого пользователя нет в базе, выдается сообщение
HttpStatus: 404
{
"status": 5,
"response": "User not found!"
}
Вывод таблицы лидеров
/api/leaderboard
GET
Integer limit
В случае успеха возвращает лист пользователей в порядке убывания их счета,
а также текущего пользователя и его позицию в рейтинге
HttpStatus: 200
[{
"position": integer,
"login": string,
"score": integer
},
...
{
"position": integer,
"login": string,
"score": integer
}]