Технологии программирования
ДЗ 10. Простое веб-приложение “Заметки”
Дедлайн
- Мягкий дедлайн - 07 апреля в 23-59
- Жесткий дедлайн - 14 апреля в 23-59
Как сдать?
В данный момент еще нет тестов и репозитория на данную домашку. Поэтому создайте пустой gradle-проект и выполните в нем задания. Когда появится репозиторий с тестами - нужно будет перенести в него свое решение. Или будет нужно показать его на практике
Веб-приложение “Заметки”
Вам необходимо разработать rest-api бэкенда для приложения Заметки. Вам необходимо релизовать следующее api:
1. get /api/note
Код ответа - 200. Возвращает все заметки (в теле ответа), которые были ранее сохранены на сервере в формате:
{
"notes": [
// далее список заметок:
{
"id": 1,
"title": "Note title",
"content": "Note content",
"created_at": "28.03.2023"
},
...
]
}
2. get /api/note/{id}
где вместо {id} - подставляет id интересуемой нас заметки.
Код ответа - 200. Возвращает заметку с переданным id в теле ответа в следующем формате:
{
"id": 1,
"title": "Note title",
"content": "Note content",
"created_at": "28.03.2023"
}
Если заметка с переданным id не найдена - верните 404 c сообщением “Note not found”
Комментарий: Как URI для сервлета укажите api/note/* , в самом сервлете посмотрите на метод request.getPathInfo()
3. post /api/note
Создает новую заметку. В теле запроса передает следующий json файл:
{
"title": "Note title",
"content": "Note content"
}
Код ответа - 201. В ответе получает уже знакомый нам ответ:
{
"id": 1,
"title": "Note title",
"content": "Note content",
"created_at": "28.03.2023"
}
4. delete /api/note/{id}
Удаляет заметку с переданным id. Код ответа - 200
Комментарий об архитектуре приложения
Мы договорились с Вами, что в этом приложении необязательно подключаться в бд. Однако это не отменяет необходимость использования трехслойной архитектуры приложения в этой домашке. Создайте классы для каждого из слоев, распределите их по нужным пакетам
Дополнительная часть
Подумайте о том, как реализовать аутентификацию пользователей, а также как дополнить функционал из основной домашки так, чтобы пользователю показывались только те заметки, которые он написал.
Контракт по ручкам доп. части напишу чуть позже.