Что такое REST API? HTTP, Клиент-Сервер, Проектирование, Разработка, Документация, Swagger и OpenApi
Описание.
Привет! В данном видео я рассказал о самом популярном способе взаимодействия распределенных систем - Rest API. Мы рассмотрим теоретическую базу по RESTFull, принципы проектирования, разработки и написания документации. Рассмотрим составляющую системного анализа, документирования, Swagger и OpenApi.
00:00 - Клиент-Сервер
03:52 - Обмен данными и формат данных
05:08 - Stateless
05:43 - Кэширование
06:58 - Системный анализ
07:44 - Документация и спецификация
08:25 - Проектирование
09:03 - Cтруктура URL и версионирование
10:43 - Проектирование GET, POST, DELETE, PATCH
17:25 - Идемпотентныe и безопасные методы
19:50 - status codes
21:05 - Swagger и OpenAPI
22:35 - Проектирование для связанных сущностей
24:10 - Пагинация
25:50 - Фильтрация и сортировка
27:32 - Тестирование
Закрытое сообщество с менторством: boosty.to/maximiglin
Поддержать автора: boosty.to/maximiglin/purchase...
Телеграм канал с полезной информацией и моей жизнью: t.me/maximiglindgtl
#it #айти #backend #frontend
Пікірлер: 90
Телеграм-канал с полезной информацией и моей жизнью: t.me/maximiglindgtl
Супер понятный и полезный видос, спасибо! 🔥
как же я рада, что нашла этот канал! так доходчиво мало кто умеет объяснять, спасибо
Очень хорошо, прям по полочкам
Невероятно доходчиво. Спасибо.
Спасибо Максим за классную подачу материала! Надеюсь не забросишь это дело, у тебя хорошо получается!
Идемпонентный метод порадовал)) А так очень много информации за короткое время - это круто
Максим, прекрасное, лаконичное, грамотное видео. Хороший звук как бонус. Спасибо большое.
Браво Максим! Отличная работа, все по полкам.
Великолепная структура материала, великолепная подача, качество материала. Спасибо, мне очень пригодилось это видео для моего первого описания API.
Самое классное объяснение с расставлением правильных акцентов)
Большое спасибо за видео. Не только доступно рассказал, без воды, но и показал живые примеры - именно то что я искал, но так долго не мог найти
Хароош, очень сильное видео по информативности!🔥
Продолжай снимать видео, не забрасывай! Контент реальный топ.
Молодец , очень классно получилось, спасибо. Будет очень круто, если визуализации и глубины подачи материала ещё усилишь.
Очень развернуто и очень доступно! Спасибо за отличное объяснение! Пожалуйста, продолжайте снимать обучающие видео! Лайк и подписка)
у тебя очень крутая подача
Спасибо за Ваш труд! Коммент в поддержку канала.
Максимально базированное видео! Спасибо за труд!
Спасибо большое за видео. Подробно, понятно и прекрасно оформлено
Крутой ролик, очень информативно. Спасибо большое 🤝🤝
Годнота подъехала, круть, спасибо
Очень круто объяснил! Спасибо! Коммент в поддержку.
Спасибо большое! Это лучшее, что я слушал! Ты молодец!
Хорошо и понятно рассказываешь, продолжай в том же духе)
Умничка!
Это лучшее видео, что я видела! просто в самое сердечко 😍
Красава! Лучший.
👍🏼 Молодец 👍🏼 Серьёзный подход
Очень круто, спасибо!)
Очень доходчиво и интересно, я начинающий бэк-разработчик, твои видео помогают быстрее разбираться в темах, здорово!
@maximiglindgtl
8 ай бұрын
❤
Класс!!!
Я не знаю как я тут оказался, но безумно благодарен ща данное видео!
Наконец то я понял что есть rest! Спасибо!
Спасибо тебе за крутое обьяснения сложных вещей, ато у меня была каша в голове до этого) а сейчас зашло
Спасибо! очень понятно! лучший
хорошая подача, грамотная речь. редкость в ютубе в наше время.
Спасибо тебе большое, у тебя очень классный контент , продолжай
Спасибо!
поставил идемпонентный лайк. давай еще!
за 28 минут этого видео я понял больше, чем за три дня чтения разных статей. Максим, спасибо!
@user-iv2kz5kh4t
4 ай бұрын
Объясни пожалуйста) сейчас получил некоторую базу языка c#. Но не понимаю как реализовывать все, о чем в этом видео?) Какую среду/программу нужно скачать?
Супер ! Ты великий молодец
Годнота! Молодец парень.
Максим красава. Суровый немного а так ваще крутой. Хороший ролик🙂
Просто лучший!
Приятель, во-первых, спасибо за видео, во-вторых есть небольшая ошибка ты сначала говоришь, что 403 - это неавторизованный пользователь, а затем на экране выводишь 401 не авторизованный пользователь (20:37) В целом, видос полезный)
Автор, какой ты крутой контент сделал❤
Топ контент
Очень мало просмотров для такого контента. Я думал у тебя тысяч 200 подписчиков😢
@maximiglindgtl
8 ай бұрын
Спасибо
Молодец! Классно разложил
Спасибо
Хорош братик реально ! Только методы идемпоТентный , ты просто говоришь идемпоНентный ))
@maximiglindgtl
8 ай бұрын
Косяк был замечен только на монтаже, в графике поправил, спасибо)
спасибо большое, ты молодец, качество твоих видео на высшем уровне, учитывая сколько сил ты прикладываешь, я уверен что твой канал ждет успех, давай в том же духе))) желаю тебе всего самого лучшего))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
@Jhon_2142
6 ай бұрын
я не бек но для того чтобы тебя поддержать подпишусь)
🔥
Спасибо тебе огромное! Того, что ты рассказал в этом ролике, мне лично хватило для выполнения тестового задания на проектирование rest api на позицию аналитика.
@maximiglindgtl
Ай бұрын
Спасибо! Приятно слышать, что приношу людям пользу
Максим, я умоляю, береги своё здоровье, свой ум! Ты - невероятно умный инженер! Такие люди, как ты - Соль Земли!
@DayX155
3 ай бұрын
Ты умоляешь без уважения, умоляй сильнее и с уважением.
Довольно толково представлена информация. Но все-таки что такое OpenAPI? ))
🔥,👍🙏.
Привет, Максим! Спасибо за видеоурок! Хочу поинтересоваться, что за веб камера у вас? Качество просто божественное 😮
@maximiglindgtl
4 ай бұрын
Привет, спасибо) Это дефолт камера Samsung galaxy s22, без какого-либо цветокора
Можете поделиться примером заполнения документа - спецификации Rest
Bearer-Token это прям так type парама называется для передачи JWT токена?
Всё хорошо, но так стеснялся выговорить правильно слово "ИдемпоТентный", что аж вместо этого всё время говорил "идемпоНентный" ))
А безопасно ли например на 403 ошибку передавать тело запроса с инфой о том что ошибка в авторизации?
@maximiglindgtl
8 ай бұрын
Что за собой это может повлечь? Мы клиенту отдали инфу о том, что у него не хватает прав, без какой либо конкретики. Его задача передать нам параметры, по которым мы его можем авторизовать, если наша система выстроена грамотно и клиент не может каким-то "хитрым" путем приобрести доступ к ресурсам, то проблем никаких нет и сообщение носит исключительно информативный характер.
@radikgalliamov
8 ай бұрын
@@maximiglindgtl ок спасибо, и еще один вопрос, а сообщение из тела ответа можно использовать на фронтенде?
@maximiglindgtl
8 ай бұрын
@@radikgalliamov да, можно, главное, чтобы бэк не отдал ничего лишнего, в сообщении об ошибке, вроде stack trace, это уже не безопасно
Ты просто Иисус
На практике чаще используют PUT, а не PATCH все-таки.
Идемпотентность как возвращение одного и того же результата не совсем корректное определение, потому и ваш пример с методом DELETE все время возвращающим статус 204 притянут за уши. В реальности DELETE как правило проектируется так что на первый запрос вернется статус 204, а на последующие статус 404, однако это не мешает сделать его идемпотентным. Иначе говоря, важно не какой результат вернет запрос, а какое состояние останется на сервере после выполнения запроса.
@maximiglindgtl
2 ай бұрын
Совершенно верно, если не ошибаюсь была поправка о состоянии ресурса на сервере!
бро ты секси
Как возвращать редирект?
@maximiglindgtl
8 ай бұрын
Привет, держи ответ на твой вопрос stackoverflow.com/questions/36638150/best-approach-to-redirect-an-url-using-rest
PATCH - это метод, который не объявляется ни безопасным, ни идемпотентным, и позволяет производить полное или частичное обновление, возможно с побочным эффектом на смежные ресурсы.
ИдемпоТенТный
Мой любимый блогер❤
Че у наших блогеров такие лица суровые. Как будто щас ядерная физика пойдет
@roman6572
Ай бұрын
Афигенное классное лицо
@uikitt
Ай бұрын
@@roman6572да!! Автор видоса милашка
А если накалякал в книге ,то это уже put 😂
Все круто но где генерация ручек для фронта по свагеру ? Пока все выглядит базово
Если данных много, лучше использовать gRPC.