Пишем Backend на Kotlin и Ktor: Создаем роуты для создания, чтения, обновления и удаления карточек
Автор: Maxim Likhachev - Learn
Загружено: 2023-09-17
Просмотров: 758
Описание:
Вот и дошли руки у меня до этой серии роликов и сегодня я выкладываю первую часть написания сервера на Kotlin + Ktor. В этой серии роликов мы напишем простенький сервер, который поможет нам регистрировать пользователей и выполнять простенькие CRUD операции. Я напомню, что не являюсь backend разработчиком и скорее всего в видео есть какие-то ошибки, который было бы не плохо исправить. Этот сервер я пишу исключительно для для следующего моего курса, где я буду писать кроссплатформенное мобильное приложение с использованием Kotlin Multiplatform, который начнет выходить сразу же после этого курса!
Не забудь поставить лайк и оставить комментарий) Это здорово поможет развитию канала :)
В этом ролике мы:
👉 Создадим и имплементируем Card Repository
👉 Создадим Card Usecase
👉 Запушим изменения на Github
ТАЙМ КОДЫ:
00:00 - Вступление
00:21 - Создаем Card route
02:33 - Пишем роут регистрации пользователя
11:40 - Шифруем пароль
15:57 - Пишем роут авторизации пользователя
21:12 - Тестируем результат в Postman
25:37 - Пушим изменения на гитхаб
26:49 - Заключение
GitHub проекта:
https://github.com/Flop88/ktor-simple...
Curl'ы для Postman:
Registration:
curl --location 'http://0.0.0.0:8080/api/v1/signup' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "[email protected]",
"login": "mvlikhachev",
"password": "123qwe",
"firstName": "Maksim",
"lastName":"Likhachev",
"role": "client"
}'
Login:
curl --location 'http://0.0.0.0:8080/api/v1/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "[email protected]",
"password": "123qwe"
}'
Create:
curl --location 'http://0.0.0.0:8080/api/v1/create-card' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYXJkc0FwcEF1dGhlbnRpZmljYXRpb24iLCJpc3MiOiJ5b3V0dWJlLWNhcmRzLXNlcnZlciIsImVtYWlsIjoid3d3cXd3d3F3d3dxd3d3cUBnbWFpbC5jb20iLCJleHAiOjE2OTM4NTM4ODF9.M_l73ZXXsOMoemhehI6Q6Al0NxzjG1P4e2fyXfT9DFAVTuGuJX42bVRJSaMPzFkkl72mDMvHda073kLG5NQJxg' \
--data '{
"cardTitle": "Test title 3",
"cardDescription": "Test description 3",
"cardDate": "03.03.2023"
}'
Update:
curl --location 'http://0.0.0.0:8080/api/v1/update-card' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYXJkc0FwcEF1dGhlbnRpZmljYXRpb24iLCJpc3MiOiJ5b3V0dWJlLWNhcmRzLXNlcnZlciIsImVtYWlsIjoid3d3cXd3d3F3d3dxd3d3cUBnbWFpbC5jb20iLCJleHAiOjE2OTM4NTM4ODF9.M_l73ZXXsOMoemhehI6Q6Al0NxzjG1P4e2fyXfT9DFAVTuGuJX42bVRJSaMPzFkkl72mDMvHda073kLG5NQJxg' \
--data '{
"id": 4,
"cardTitle": "Test title 4",
"cardDescription": "Test description 4",
"cardDate": "01.03.2023",
"isVerified": true
}'
Delete:
curl --location --request DELETE 'http://0.0.0.0:8080/api/v1/delete-card?id=5' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYXJkc0FwcEF1dGhlbnRpZmljYXRpb24iLCJpc3MiOiJ5b3V0dWJlLWNhcmRzLXNlcnZlciIsImVtYWlsIjoid3d3cXd3d3F3d3dxd3d3cUBnbWFpbC5jb20iLCJleHAiOjE2OTM4NTM4ODF9.M_l73ZXXsOMoemhehI6Q6Al0NxzjG1P4e2fyXfT9DFAVTuGuJX42bVRJSaMPzFkkl72mDMvHda073kLG5NQJxg' \
--data ''
Get All Cards:
curl --location 'http://0.0.0.0:8080/api/v1/get-all-cards' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYXJkc0FwcEF1dGhlbnRpZmljYXRpb24iLCJpc3MiOiJ5b3V0dWJlLWNhcmRzLXNlcnZlciIsImVtYWlsIjoid3d3cXd3d3F3d3dxd3d3cUBnbWFpbC5jb20iLCJleHAiOjE2OTM4NTM4ODF9.M_l73ZXXsOMoemhehI6Q6Al0NxzjG1P4e2fyXfT9DFAVTuGuJX42bVRJSaMPzFkkl72mDMvHda073kLG5NQJxg' \
--data ''
Курс по созданию простого backend использует следующий стек технологий:
✅ Kotlin
✅ Ktor
✅ PostgreSQL
✅ Exposed
✅ Hikari
Друзья, лучшей благодарностью и мотивацией для меня делать новые видео будет ваш лайк и подписка. Так же хочу сказать, что видео я снимаю на чистом энтузиазме и никакого дохода с них не имею. Все сказанное в данном ролике является моим личным мнением и оценочным суждением.
🌐 Мои соц сети:
➡️ YouTube Maxim Likhachev: @mvlikhachev
➡️ YouTube Maxim Likhachev | Learn: @MaximLikhachevLearn
➡️ Telegram: https://t.me/mvlikhachev
➡️ Instagram: / mv.likhachev
➡️ Threads: https://www.threads.net/@mv.likhachev
➡️ Twitter: / wwwqwwwq
💸 Поддержать проект:
USDT: TQa62XGkzEn1hykAeUTye6GrsRQLB26kW7
BTC: 1E8ifH213NNEbMeRQf4wk8REbkd6a3qt8h
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: