REST API повторяющий функциональность pastebin. Реализованна возможность авторизации с помощью JWT и Spring Security. Генератор уникальных url вынесен в отдельный микросервис. Текстовый контент храниться в отдельном s3 совместимом хранилище Minio
- eureka-server - модуль модуль, который использует Spring Cloud Netflix Eureka в качестве встроенного сервера обнаружения.
- GeneratorUrl - микросервис, отвечающий за генерацию уникальных и коротких url
- paste-service - микросервис, отвечающий за авторизацию и создание, получение, удаление текстовых публикаций
GET /api/generated-url
Ответ:
{
"id": 0,
"url": "string"
}
POST /api/auth/registration
{
"username": "string",
"password": "string",
"email": "string"
}
Ответ:
{
"token": "string"
}
POST /api/auth/authenticate
{
"username": "string",
"password": "string"
}
Ответ:
{
"token": "string"
}
GET /api/auth/logout
Ответ:
{
"message": "successfully logged out"
}
POST /api/pastes
{
"title": "string",
"content": "string",
"visibility": "string",
"pasteExpirationMinutes": 0,
"permissions": [
"string"
]
}
Ответ:
{
"url": "string",
"title": "string"
}
GET /api/pastes/{paste-id}
Ответ:
{
"title": "string",
"content": "string",
"createdAt": "2024-04-13T00:31:28.870Z",
"expiredAt": "2024-04-13T00:31:28.870Z",
"visibility": "PRIVATE",
"lastVisited": "2024-04-13T00:31:28.870Z",
"author": "string"
}
DELETE /api/pastes/{paste-id}
Ответ:
{
"message": "The paste has been successfully removed"
}