Skip to content

ReynokArsted/web_lab_1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

web_lab_1

Это проект первого Spring-приложения. Согласно заданию для варианта 12, приложение позволяет создавать и работать с заметками, которые могут иметь теги и вложения**. Возможен поиск заметок по тексту. Запросы к серверу и его ответы используют формат .json.

Эндпоинты:

  1. GET: /notes - получение всех созданных заметок;
  2. GET: /notes/id - получение заметки по id (id - query-параметр);
  3. GET: /notes/title - получение заметки по названию (title - query-параметр);
  4. GET: /notes/id/attachment - получение вложения по id заметки (id - query-параметр);
  5. POST: /notes - создание заметки (способ выполнения запроса показан в примере 1);
  6. POST: /notes/id - изменение заметки по id (id - query-параметр и способ выполнения запроса аналогичен примеру 1)***;
  7. POST: /notes/search - поиск заметки по её тексту и названию (пример запроса показан в примере 2);
  8. DELETE: /notes/id - удаление заметки по id (id - query-параметр);
  9. DELETE: /notes/id/attachment - удаление вложения по id заметки (id - query-параметр).

Примеры запросов:

  1. Необходимо создать ключи note и file (в form-data). Первый отвечает за содержимое заметки и теги (название заметки, её текст, перечисление тегов) и задаётся как text, а второй - за вложения и задаётся как file. Для note поле Value содержит описание json-файла, а поле Content-Type - application/json. Для file поле Value содержит загруженный файл****, а поле Content-Type - Auto. Ниже на скриншотах из Postman показан пример запроса на создание заметки.
Screenshot_8 Screenshot_9

Пример json-файла для note:

{
   "title": "noteEX",
    "content": "text",
    "tagTitles" : ["numbs", "lists", "stones"]
}

-> Если некоторые поля или вложения для создания заметки не указаны, то они записываются в БД пустыми.

  1. Для выполнения запроса требуется отправить json-файл с текстом, по которому выполняется поиск нужной заметки или заметок. Скриншот из Postman с примером находится ниже.
Screenshot_10

Пример json-файла для запроса:

{
    "substring": "text"
}

** Для первого запуска необходимо клонировать репозиторий с проектом и настроить подключение к БД. Чтобы подключиться к БД, требуется копировать файл .env.example как .env и добавить последний в .gitignore. Затем указать в .env актуальные данные для подключения к БД (PostgreSQL), а именно: название базы данных, имя зарегистрированного пользователя (например, postgres) и пароль.

*** Если некоторые поля или вложения для обновления заметки не указаны, то они остаются прежними.

**** Максимальный вес вложения - 100 Мб.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages