Это проект первого Spring-приложения. Согласно заданию для варианта 12, приложение позволяет создавать и работать с заметками, которые могут иметь теги и вложения**. Возможен поиск заметок по тексту. Запросы к серверу и его ответы используют формат .json.
Эндпоинты:
- GET: /notes - получение всех созданных заметок;
- GET: /notes/id - получение заметки по id (id - query-параметр);
- GET: /notes/title - получение заметки по названию (title - query-параметр);
- GET: /notes/id/attachment - получение вложения по id заметки (id - query-параметр);
- POST: /notes - создание заметки (способ выполнения запроса показан в примере 1);
- POST: /notes/id - изменение заметки по id (id - query-параметр и способ выполнения запроса аналогичен примеру 1)***;
- POST: /notes/search - поиск заметки по её тексту и названию (пример запроса показан в примере 2);
- DELETE: /notes/id - удаление заметки по id (id - query-параметр);
- DELETE: /notes/id/attachment - удаление вложения по id заметки (id - query-параметр).
Примеры запросов:
- Необходимо создать ключи note и file (в form-data). Первый отвечает за содержимое заметки и теги (название заметки, её текст, перечисление тегов) и задаётся как text, а второй - за вложения и задаётся как file. Для note поле Value содержит описание json-файла, а поле Content-Type - application/json. Для file поле Value содержит загруженный файл****, а поле Content-Type - Auto. Ниже на скриншотах из Postman показан пример запроса на создание заметки.
Пример json-файла для note:
{
"title": "noteEX",
"content": "text",
"tagTitles" : ["numbs", "lists", "stones"]
}-> Если некоторые поля или вложения для создания заметки не указаны, то они записываются в БД пустыми.
- Для выполнения запроса требуется отправить json-файл с текстом, по которому выполняется поиск нужной заметки или заметок. Скриншот из Postman с примером находится ниже.
Пример json-файла для запроса:
{
"substring": "text"
}** Для первого запуска необходимо клонировать репозиторий с проектом и настроить подключение к БД. Чтобы подключиться к БД, требуется копировать файл .env.example как .env и добавить последний в .gitignore. Затем указать в .env актуальные данные для подключения к БД (PostgreSQL), а именно: название базы данных, имя зарегистрированного пользователя (например, postgres) и пароль.
*** Если некоторые поля или вложения для обновления заметки не указаны, то они остаются прежними.
**** Максимальный вес вложения - 100 Мб.