Знакомство со Spring Boot #2 Создание REST API на Java с помощью Spring Framework MVC

  Рет қаралды 39,855

BoostBrain

BoostBrain

Күн бұрын

Говорим о фундаментальном для интернета понятии REST-сервис. Создаем REST API на Java с помощью Spring Framework MVC.
Привет! Меня зовут Николай и я люблю писать программы на Java и других языках. На этом канале я отказался от простого изложения общедоступных сведений о программировании, фреймворках и библиотеках. Я стараюсь подать материал так, чтобы это было понятно за максимально короткое время, быстро и просто. Использую Java, Java EE, Spring Framework, Spring Boot, а также рассказываю о смежных технологиях, протоколах, показываю лайфхаки.
У нас есть свой проект с обучением новичков программированию в условиях приближенных к реальности. Для этого создан канал BoostBrainLive - / @boostbrainlive2596

Пікірлер: 75
@muhtoryusufjanov3946
@muhtoryusufjanov3946 5 жыл бұрын
1. хочу поблагодарить вас за такой прекрасное уроки вашу изложения материала очень четко... 2. хотел бы увидеть уроки с использование Spring REST - service на практика чтобы понять основ покажите пожалуйста ( как используются REST - service на реальный практика, например было бы классно если сделать какой нибудь веб веб приложения ) или я много просил.... уроки очень доступно продолжайте пожалуйста
@070boroda
@070boroda 5 жыл бұрын
Не останавливайтесь пожалуйста
@Bot-yy3cm
@Bot-yy3cm 2 жыл бұрын
у вас удивительно просто и доходчиво получается объяснять
@androedge
@androedge 5 жыл бұрын
Здравствуйте! Огромная благодарность за Вашу деятельность! Особенно за CDI и Filter. Если есть возможность, проиллюстрируйте оба способа. И xml и JSON. P.s досмотрел до конца. JSON есть. Присоединяюсь к комментарию с просьбой небольшого приминения rest.
@MrTheMaks
@MrTheMaks 5 жыл бұрын
json бы пслушал
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Договорились
@НикитаГапоян
@НикитаГапоян 5 жыл бұрын
Поддерживаю!
@Роман-п9в2о
@Роман-п9в2о 4 жыл бұрын
Николай, очень хочется увидеть ваш подробный урок по созданию полноценного API, через который можно взаимодействовать мобильным приложением и влиять на базу данных в MySQL
@GreekkAlex
@GreekkAlex 5 жыл бұрын
все интересно
@elenazelenaya6783
@elenazelenaya6783 4 жыл бұрын
Поняла эту тему благодаря Вам 😁 Спасибо громаднейшее))
@evileye100
@evileye100 4 жыл бұрын
Прервался на комментарий. Дружище благодарю за видео! Подача материала и оформление очень достойно. Музыка приятная и не громкая речь размеренная и четкая. 5 балов!
@iryna6389
@iryna6389 5 жыл бұрын
Здравствует! Спасибо за Вашу работу!!! У меня предложение, напишите с рест апи - небольшой интернет магазин, на этом примере можно разобрать большинство тем и джейсон, и слои, и секюрити, и дао, авторизация и аунтификация пользователя. Это было бы очень круто!!!
@iryna6389
@iryna6389 5 жыл бұрын
тем более такого контента еще нет!!!
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Идея хорошая и я обязательно попробую. Но опасаюсь, что будет не очень популярной - мало кому интересно смотреть ролик на полтора часа, в котором будет бэээ и мэээ. А уместить создание магазина в серии 10-минутных роликов довольно трудно.
@iryna6389
@iryna6389 5 жыл бұрын
@@BoostBrainCourse Я большинство обучающих видео смотрю на увеличенной скорости, хотя когда начинала изучать джаву-смотрела в замедленном формате))) так что всем не угодишь))) В любом случае большое спасибо!!!
@saulkodavr4446
@saulkodavr4446 3 жыл бұрын
@@BoostBrainCourse ну Ваши подписчики поднатаскались, так что осилим!) Огромное спасибо!
@НелинейныйПовторитель
@НелинейныйПовторитель 4 жыл бұрын
Начало доходить после второго просмотра.
@ДЖАМАЛБАДМАЕВ
@ДЖАМАЛБАДМАЕВ 5 жыл бұрын
создайте приложение с учетом всех этих технологий * Spring Framework * Spring Boot * Spring REST * Spring Data JPA * JPA (Hibernate)
@НелинейныйПовторитель
@НелинейныйПовторитель 4 жыл бұрын
Спасибо, очень понятно объясняете, прямо всё по делу, никакой воды.
@ОлегПавлюков-я2я
@ОлегПавлюков-я2я 5 жыл бұрын
Как всегда отличная подача информации + над оформлением кто то хорошо постарался) Профессионльный уровень, по джаве таких качественных роликов еще не встречал.
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Спасибо большое! Мотивирует)
@ОлегПавлюков-я2я
@ОлегПавлюков-я2я 5 жыл бұрын
@@BoostBrainCourse тебе спасибо)
@maxmaroff260
@maxmaroff260 4 жыл бұрын
Большое спасибо за уроки!!!
@konstantinchvilyov9602
@konstantinchvilyov9602 2 жыл бұрын
Спасибо! Отлично!
@angrmonk
@angrmonk 4 жыл бұрын
Большую работу делаешь! Спасибо.
@МаксимМоскалюк-о7ъ
@МаксимМоскалюк-о7ъ 5 жыл бұрын
Классное видео, хочется увидеть продолжение
@VladimirLagutin-op4yg
@VladimirLagutin-op4yg 4 жыл бұрын
Это супер! Спасибо большое) Отличное видео!
@9Ipowa
@9Ipowa 5 жыл бұрын
Круто, все просто и понятно, спасибо большое. Разве что ставил скорость воспроизведения на 1.25, а то голос сильно убаюкивающий:D
@honey7460
@honey7460 3 ай бұрын
Куда ты пропал? Такие познавательные и интересные видео
@gregre8928
@gregre8928 5 жыл бұрын
Интересны микросервисы, их связь как на одной машине, так и на разных серверах.
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Тогда надо будет начать с Докера.
@gregre8928
@gregre8928 5 жыл бұрын
BoostBrain, было бы классно! )
@kronst
@kronst 5 жыл бұрын
@@BoostBrainCourse С нетерпением ждем следующих видео. :)
@lanalystan9581
@lanalystan9581 4 жыл бұрын
Спасибо!
@viktorkrechikov7293
@viktorkrechikov7293 2 жыл бұрын
thanks
@XeonFGT
@XeonFGT 4 жыл бұрын
Попробуйте сделать порядок урока обратный, сначала показать результат, передать параметр, а потом начинать кодить, потому что при первом просмотре, как у новичка мне не понятно, что за что отвечает. Мне кажется так будет проще для восприятия.
@user-nd84209
@user-nd84209 2 жыл бұрын
Можно REST API, без Spring, код в студию. Желательно, код на Java.
@ivanulanov2377
@ivanulanov2377 5 жыл бұрын
Добрый день! Как вы смотрите на то, чтобы сделать "реальный" проект. Может что-то из собственного опыта. Или может разобрать что-то из вопросов из тестовых заданий. Чтобы можно было понять каждый этап. Начинаная с несложного ТЗ, включая тестирование.
@vasiliicojocari1758
@vasiliicojocari1758 5 жыл бұрын
Пожалуйста сделайте урок про круд операций, например веб страница где есть таблица и с помощью кнопок управлять эту таблицу.
@AlexAlex-qx2ho
@AlexAlex-qx2ho 5 жыл бұрын
Нужны дополнительные видео по HTTP.
@9Ipowa
@9Ipowa 5 жыл бұрын
Есть маленькое замечание. В книгах Spring in Action 3-е и 4-е изданиях указывается что недопустимо передавать парамерты запроса для rest сервисов. Любые параметры должны описываться как PathVariable, тоесть вместо localhost:8080/employees?name=BoostBrain необходимо указывать следующее: localhost:8080/employees/BoostBrain. Я не претендую на абсолютную правоту, так как мой опыт несопоставимо меньше Вашего, однако хотелось бы услышать Ваше мнение о наведенном принципе. На сколько я понял, это связано с парадигмой самого REST.
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Честно говоря не читал эти книги, но обязательно загляну. Я использую следующую практику - PathVariable для идентификации ресурса, например если это запрос единичного экземпляра. Если, например, речь идёт о списке значений, то передаются параметры фильтрации. Вот статейка, которая отражает мои взгляды - medium.com/@fullsour/when-should-you-use-path-variable-and-query-parameter-a346790e8a6d Однако я благодарен за замечание, приятно видеть дискуссию такого уровня в комментариях. Это всем полезно.
@9Ipowa
@9Ipowa 5 жыл бұрын
BoostBrain очень верно подмечено - «статейка»😂 Примерно это и было описано в главе rest из вышеупомянутой книги. Однако возник другой вопрос, как именно вы изучали спринг. Может получится снять отдельное видео о том как и в каком порядке учить данный фреймворк, так как модулей в нем много, с чего начать не понятно. Одни говорят - книги, другие документация, третьи - вовсе втупую качать проекты на спринг и смотреть как оно все работает. Для меня, к слову, эта тема уже не столь актуальна, так как я изучал этот фреймоврк по крупицам из разных источников на протяжении трех месяцев, но, мне кажется, что конкретные советы в начале пути ускорили бы обучение многократно. Уверен это будет полезно для всех начинающих изучать этого монстра
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Я начинал с Энтерпрайза и начал изучать Спринг, что называется, с корабля на бал. То есть получил проект для приведения в чувство, а проект был на Спринг. Изучал кусочками, ориентируясь на то, что мне было непонятно. И только потом купил книгу Спринг 5 для профессионалов и пожалел, что не сделал этого сразу. Так что я плохой пример. Я за книгу, там все последовательно и во взаимосвязях.
@andreypylyptiy5448
@andreypylyptiy5448 4 жыл бұрын
@@BoostBrainCourse Доброго времени суток, книгу изучали в оригинале или на русском языке? Насколько сильно влияние перевода на качество материала, если в курсе - не сориентируете?
@androedge
@androedge 5 жыл бұрын
Интересует и такая тема - мы всё написали и хотим передать приложение куда-то на сторонний ресурс. На нашей машине есть база данных, все таблицы и начальные данные. Конечно, можно написать скрипты, которые на нашей машине проверяют наличие или отсутствие таблиц конкретных и связанных и создают их и заполняют данными, при этом сама база(схема) есть на нашей машине. Как передать приложение или его maven-проект, что бы это приложение само развёртывалось и создавало изначальную базу данных на стороннем ресурсе? При наличии базы дальше вступают в дело скрипты(plsql или pgsql). Я надеюсь это будет интересно не только мне.
@androedge
@androedge 5 жыл бұрын
Забегая немного вперёд, я видел, на одном канале, как подобную вещь вскользь показывал автор, он упоминал ligvidbase или что-то подобное. Очень заинтересовало, но там был курс для аксакалов Java. Был бы крайне признателен за подобный how-to разбор и комментарии Ваши. Падпещек, примерно с год.
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Очень интересный вопрос, явно новички таким вопросом редко задаются) Тема называется Continuous Integration & Continuous Delivery или CI&CD. И применение Luquibase это часть процесса.
@ДжошКембл
@ДжошКембл 5 жыл бұрын
Думал что канал умер(((но рад что ошибся)))если как то можем помочь каналу, то говорите)))
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Ну разве что добавить пару часов к суткам)
@ДжошКембл
@ДжошКембл 5 жыл бұрын
BoostBrain 😂увы это не в моих силах
@k5p5o5
@k5p5o5 3 жыл бұрын
Благодарю за отличное видео! Но у меня почему-то пришлось добавить в pom.xml: org.springframework.boot spring-boot-autoconfigure 2.1.7.RELEASE Иначе аннотация не распознавалась.
@Pewdew
@Pewdew 3 жыл бұрын
Непонятно почему запрос юрл стал именно гет. Пойду искать инфу. Там же не было никаких в запросе указаний
@Шурикпубличный
@Шурикпубличный 4 жыл бұрын
Надо видео с каким фронтендом лучше комбинировать rest java. На голом ajax, какой нибудь ReactJS или Anaguar. Какой фронтенд легко развернуть под rest api??
@BoostBrainCourse
@BoostBrainCourse 4 жыл бұрын
Фактически любой фреймворк или библиотека для фронта работает с rest api
@somediedrank
@somediedrank 3 жыл бұрын
ошибка правильно так: CREATE - POST READ - GET UPDATE - PUT DELETE - DELETE
@java_coder
@java_coder 3 жыл бұрын
Тоже слух резануло)
@denisgeraskin5532
@denisgeraskin5532 2 жыл бұрын
Всем у кого ошибка на при добавлении spring-boot-maven-plugin После spring-boot-maven-plugin добавьте 2.6.3 - укажите свою версию!
@ThePegoch
@ThePegoch 5 жыл бұрын
К сожалению застрял на моменте с добавление Аннотации, я так понимаю у меня Maven не загружает необходимые библиотеки Spring, хотя все сделал как в видео и Maven последний 3.6.1 UDP: заработало с версией springboot 1.2.5.RELEASE, версию как видео 2.1.1.RELEASE видит, но не загружает библиотеки
@АлексейЯ-б5л
@АлексейЯ-б5л 5 жыл бұрын
В настройках проекта в Идее авто-импорт включён? Пробовали грохнуть локальный репозиторий мавен и сделать реимпорт? Собрать проект из командной строки через mvn clean package?
@AndreyBaranov93
@AndreyBaranov93 5 жыл бұрын
Всем привет! Очень заметно изменился стиль видео В ЛУЧШУЮ СТОРОНУ! Спасибо. приятно смотреть. Возвращаюсь к своей просьбе, которая была озвучена около 2-х лет назад: - Разработка Spring MVC с 2-5 сущностей, запрос-ответ, CRUD в базу. Ошибка возникает, что бин сущности уже используется. моя почта newsvenc@gmail.com. Можете на примере показать как эта штука работает.
@BoostBrainCourse
@BoostBrainCourse 5 жыл бұрын
Могу поделиться кодом учебного проекта, где примерно это и сделано.
@AndreyBaranov93
@AndreyBaranov93 5 жыл бұрын
@@BoostBrainCourse было бы не плохо. моя почта newsvenc@gmail.com
@Alex11Fox
@Alex11Fox 4 жыл бұрын
Вопрос: 1) зачем писать @Rest Controller если можно просто написать @Controller 2) у вас вложженый внутренный класс RestResponce, для чего?
@maxmara4551
@maxmara4551 4 жыл бұрын
Вложенный класс для примера, объект этого класса возвращается в виде JSON браузеру, можно было сделать его в отдельном файле. RestController является наследником Controller и говорит на о том, что данный контроллер является rest контроллером и будет возвращать JSON, например, а не html представление, как в случае с Controller .
@Alex11Fox
@Alex11Fox 4 жыл бұрын
@@maxmara4551 Спс, спустя какого время изучения я уже всё понял)
@maxmara4551
@maxmara4551 4 жыл бұрын
Valera Fox ну я посмотрел на дату и так и подумал, может другим пригодится
@Andrew-v4o7k
@Andrew-v4o7k 3 жыл бұрын
Возврат XML это SOAP, не REST)
@BoostBrainCourse
@BoostBrainCourse 3 жыл бұрын
Нет! SOAP это настоящий протокол, со структурами и спецификацией.
@Mikhail_Ivanovich
@Mikhail_Ivanovich 5 жыл бұрын
Хочу получить, образование java программиста, подскажите кто действительно сегодня на рынке готовит, спасибо.
@alexl5607
@alexl5607 5 жыл бұрын
Сперва нужно открыть вакансии, стажировки посмотреть или junior позиции, ознакомиться со стэком технологий, примерным. Нужно знать java core хорошо, структуры данных и алгоритмы, + опять таки же поверхностные знания по EE. Работа - лучший учитель)
@Mikhail_Ivanovich
@Mikhail_Ivanovich 5 жыл бұрын
@@alexl5607 спасибо за ответ, в принципе я так и предполагал, что нужно искать команду программистов
@alexnovik6223
@alexnovik6223 5 жыл бұрын
@@Mikhail_Ivanovich интересно, какая команда возьмет без фундаментальных знаний? Нынешний джун должен знать хорошо теорию, иметь опыт самостоятельной разработки минимальных проектов, понимать алгоритмы и синтаксис. Разбираться в ООП и еще много чего. Но к любым курсам нужно много практики. Выучиться до начального уровня джуна с нуля быстрее чем за полгода - почти нереально. Обычно от 9 месяцев до 1,5 лет обучения. При поиске первой работы нужно уже уметь настраивать окружение и Git, знать Java Core, алгоритмы, синтаксис, теорию связанную с ООП и не только, конвенцию о стиле кода, минимальный английский, Spring, Maven, Hibernate и в принципе как работать с базами данных и клиент-серверной архитектурой. Можно немного изучить JS, а так же вы должны перед собеседованием понимать все, что написано в книгах по Java. Если готовы потратить полгода на обучение по 3-5 часов в неделю, то выбирайте курсы (онлайн или оффлайн) и ресурс с большим количеством задач (например JavaRush - там автоматически проверяется решение, но стоит денег). Поверьте - никто не захочет брать человека без базовых знаний только из за его желания "войтивайти"
@Mikhail_Ivanovich
@Mikhail_Ivanovich 5 жыл бұрын
@@alexnovik6223 Спасибо за открытый и честный ответ.
@АлексейЯ-б5л
@АлексейЯ-б5л 5 жыл бұрын
Категорически рекомендую найти на бирже приглашения на учёбу-стажировку от крупных интеграторов: Ай-теко, Крок, Epam, ЛАНИТ, SoftLine. Знаю, что у первых трёх есть школы с достаточно низким порогом вхождения - довольно знать синтаксис языка, знать структуру проекта и уметь написать простенькую консольную программу. При упорстве и желании за 3-4 месяца вас там подтянут до уровня стажёра с минимум знаний для разработки/поддержки ентерпрайз приложений и отправят в одну из своих групп на стажировку. Там же, от пары месяцев до полугода вы будете тренироваться на реальных продуктах под руководством куратора из команды(зп 30-50 т.р.) и уж потом сможете претендовать на место джуна. Можно попробовать попасть в школу крупного игрока (Тинькофф, Сбер, МТС, Майлру, Яндекс, ..) но туда требуется высокий порог вхождения и, зачастую, профильное образование математика. Всяческие платные онлайн школы я считаю излишними - глупо платить за то, что можно посмотеть в интернет бесплатно и спросить в сообществе. Опять же: разработка - это постоянный поиск информации и если вы не можете самостоятельно найти информацию и разобраться в том что такое DI контейнер или контекст выполнения вам, без обид, не сюда - поищите свою нишу ..
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 2,8 МЛН
АЗАРТНИК 4 |СЕЗОН 2 Серия
31:45
Inter Production
Рет қаралды 1,1 МЛН
Amazing Parenting Hacks! 👶✨ #ParentingTips #LifeHacks
00:18
Snack Chat
Рет қаралды 20 МЛН
Brawl Stars Edit😈📕
00:15
Kan Andrey
Рет қаралды 50 МЛН
Java REST API with Spring Boot Tutorial | REST API CRUD Implementation
36:27
Think Constructive
Рет қаралды 246 М.
How To Call a REST API In Java - Simple Tutorial
29:14
Coding with John
Рет қаралды 273 М.
Кто и почему убивает Фронтенд?
20:40
Миша Ларченко
Рет қаралды 24 М.
WebFlux. Реактивный web с Spring Java
22:41
letsCode
Рет қаралды 61 М.
ВЕСЬ FASTAPI ЗА 30 МИН
28:37
ПИТОНИСТЫ | КИРИЛЛ ПОЗДНЯКОВ
Рет қаралды 32 М.
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 2,8 МЛН