REST API использующийся для сокращения ссылок и ведения статистики по ним.
- Java 17
- Maven 3.8
- Spring 2.7.17
-
- Web
-
- Data Jpa
-
- Security
-
- Validation
-
- Test
- PostgreSQL 14
- Liquibase 3.10.3
- Lombok 1.18.30
- Checkstyle
- Регистрация Вашего сайта (пользователя) происходит путём POST запроса на адрес /registration с JSON, содержащим имя Вашего сайта. В ответ Вы получаете JSON, с подтверждением/отрицанием регистрации, а также с уникальным логином и паролем (в случае удачной регистрации), необходимыми для авторизации:
Request
POST /registration
{
"site": "example.ru"
}
Response
{
"registration": true, "login": "exampleLogin", "password": "examplePassword"
}
- Авторизация с использованием полученных ранее логина и пароля и получение JWT токена для дальнейшей работы. Данное действие происходит также POST запросом на адрес /login. В ответ токен возвращается в header ответа:
Request
POST /login
{
"login": "exampleLogin", "password": "examplePassword"
}
- После этого доступна дальнейшая работа, такая как регистрация URL страниц Вашего сайта и получение коротких кодов на эти ссылки, как в примере ниже:
Request
POST /convert
{
"url": "http://example.ru/someUrl.ru"
}
Response
{
"code": "someCharacterSet"
}
- Данный код можно использовать для перехода по закодированной ссылке. Причём перенаправление на страницу, скрытую под этим кодом, происходит автоматически:
Request
GET /reddirect/someCharacterSet
- Последней возможностью является получение статистики переходов по закодированным Вами ссылкам. Каждый раз, когда кто-либо переходит по ссылке с использованием кода, как в примере выше, это учитывается в статистикe, ведущейся для каждого отдельного сайта (пользователя):
Request
GET /statistic
Response
{
{"url": "http://example.ru/someUrl.ru", "total": 31}
{"url": "http://example.ru/someOtherUrl.ru", "total": 322}
}
На этом возможности данного приложения заканчиваются.
Захаренко Сергей
Телефон: +7 995 299 07 34