- Скачать и установить контейнер Java-сервлетов(например, Apache Tomcat)
- Подготовить базу данных для приложения
- Создать базу данных PostgreSQL
- Выполнить скрипты из
/databaseScripts/databaseScripts.sql
в новой базе данных(для создания схемы)
- Создать war-артифакт приложения
- Выполнить команду
./gradlew war
- Готовый артифакт приложения появится в директории
/build/libs/
- Выполнить команду
- Развернуть war-файл в контейнере сервлетов
- Запросы к API можно отправлять через URL вида:
http://localhost:8080/meetup-rest-api-0-0-1/meetup
-
Получить все митапы
Пример запроса:
GET http://localhost:8080/meetup-rest-api-0-0-1/meetup HTTP/1.1
Content-Type: application/json
{
"filterParameters": {
"agenda": "meet"
},
"sortingParameters":[
"agenda"
]
}
где filterParameters
и sortingParameters
являются опциональными параметрами, задающими фильтрацию и сортировку
результатов. Поддерживаемые параметры митапов: agenda
, dateTime
, organizer
-
Получить митап
Пример запроса:
GET http://localhost:8080/meetup-rest-api-0-0-1/meetup/{id} HTTP/1.1
где {id}
- id запрашиваемого митапа
-
Добавить новый митап
Пример запроса:
PUT http://localhost:8080/meetup-rest-api-0-0-1/meetup HTTP/1.1
Content-Type: application/json
{
"agenda": "Very Important Things",
"description": "We discuss some very important Things",
"organizer": "An important person",
"dateTime": "17.11.2022 11:41",
"location": "An important office"
}
-
Удалить митап
Пример запроса:
DELETE http://localhost:8080/meetup-rest-api-0-0-1/meetup/{id} HTTP/1.1
где {id}
- id удаляемого митапа
-
Изменить митап
Пример запроса:
POST http://localhost:8080/meetup-rest-api-0-0-1/meetup/{id} HTTP/1.1
Content-Type: application/json
{
"agenda": "Very Important Things",
"description": "We discuss some very important Things",
"organizer": "An important person",
"dateTime": "17.11.2022 11:41",
"location": "An important office"
}
где {id}
- id изменяемого митапа