No video

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

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

Пікірлер: 75

  • @muhtoryusufjanov3946
    @muhtoryusufjanov39465 жыл бұрын

    1. хочу поблагодарить вас за такой прекрасное уроки вашу изложения материала очень четко... 2. хотел бы увидеть уроки с использование Spring REST - service на практика чтобы понять основ покажите пожалуйста ( как используются REST - service на реальный практика, например было бы классно если сделать какой нибудь веб веб приложения ) или я много просил.... уроки очень доступно продолжайте пожалуйста

  • @070boroda
    @070boroda5 жыл бұрын

    Не останавливайтесь пожалуйста

  • @MrTheMaks
    @MrTheMaks5 жыл бұрын

    json бы пслушал

  • @BoostBrainCourse

    @BoostBrainCourse

    5 жыл бұрын

    Договорились

  • @user-so3kv1np5l

    @user-so3kv1np5l

    5 жыл бұрын

    Поддерживаю!

  • @androedge
    @androedge5 жыл бұрын

    Здравствуйте! Огромная благодарность за Вашу деятельность! Особенно за CDI и Filter. Если есть возможность, проиллюстрируйте оба способа. И xml и JSON. P.s досмотрел до конца. JSON есть. Присоединяюсь к комментарию с просьбой небольшого приминения rest.

  • @Bot-yy3cm
    @Bot-yy3cm2 жыл бұрын

    у вас удивительно просто и доходчиво получается объяснять

  • @user-wd2zq4ov2g
    @user-wd2zq4ov2g4 жыл бұрын

    Николай, очень хочется увидеть ваш подробный урок по созданию полноценного API, через который можно взаимодействовать мобильным приложением и влиять на базу данных в MySQL

  • @iryna6389
    @iryna63895 жыл бұрын

    Здравствует! Спасибо за Вашу работу!!! У меня предложение, напишите с рест апи - небольшой интернет магазин, на этом примере можно разобрать большинство тем и джейсон, и слои, и секюрити, и дао, авторизация и аунтификация пользователя. Это было бы очень круто!!!

  • @iryna6389

    @iryna6389

    5 жыл бұрын

    тем более такого контента еще нет!!!

  • @BoostBrainCourse

    @BoostBrainCourse

    5 жыл бұрын

    Идея хорошая и я обязательно попробую. Но опасаюсь, что будет не очень популярной - мало кому интересно смотреть ролик на полтора часа, в котором будет бэээ и мэээ. А уместить создание магазина в серии 10-минутных роликов довольно трудно.

  • @iryna6389

    @iryna6389

    5 жыл бұрын

    @@BoostBrainCourse Я большинство обучающих видео смотрю на увеличенной скорости, хотя когда начинала изучать джаву-смотрела в замедленном формате))) так что всем не угодишь))) В любом случае большое спасибо!!!

  • @saulkodavr4446

    @saulkodavr4446

    3 жыл бұрын

    @@BoostBrainCourse ну Ваши подписчики поднатаскались, так что осилим!) Огромное спасибо!

  • @user-dg2mb4bh4w
    @user-dg2mb4bh4w5 жыл бұрын

    создайте приложение с учетом всех этих технологий * Spring Framework * Spring Boot * Spring REST * Spring Data JPA * JPA (Hibernate)

  • @evileye100
    @evileye1004 жыл бұрын

    Прервался на комментарий. Дружище благодарю за видео! Подача материала и оформление очень достойно. Музыка приятная и не громкая речь размеренная и четкая. 5 балов!

  • @elenazelenaya6783
    @elenazelenaya67834 жыл бұрын

    Поняла эту тему благодаря Вам 😁 Спасибо громаднейшее))

  • @GreekkAlex
    @GreekkAlex5 жыл бұрын

    все интересно

  • @user-yh9kx4dy8p
    @user-yh9kx4dy8p4 жыл бұрын

    Спасибо, очень понятно объясняете, прямо всё по делу, никакой воды.

  • @user-yh9kx4dy8p
    @user-yh9kx4dy8p4 жыл бұрын

    Начало доходить после второго просмотра.

  • @user-vt4cs6yw7o
    @user-vt4cs6yw7o5 жыл бұрын

    Как всегда отличная подача информации + над оформлением кто то хорошо постарался) Профессионльный уровень, по джаве таких качественных роликов еще не встречал.

  • @BoostBrainCourse

    @BoostBrainCourse

    5 жыл бұрын

    Спасибо большое! Мотивирует)

  • @user-vt4cs6yw7o

    @user-vt4cs6yw7o

    5 жыл бұрын

    @@BoostBrainCourse тебе спасибо)

  • @angrmonk
    @angrmonk4 жыл бұрын

    Большую работу делаешь! Спасибо.

  • @honey7460
    @honey74602 ай бұрын

    Куда ты пропал? Такие познавательные и интересные видео

  • @9Ipowa
    @9Ipowa5 жыл бұрын

    Круто, все просто и понятно, спасибо большое. Разве что ставил скорость воспроизведения на 1.25, а то голос сильно убаюкивающий:D

  • @user-kd9is2iv8w
    @user-kd9is2iv8w5 жыл бұрын

    Классное видео, хочется увидеть продолжение

  • @VladimirLagutin-op4yg
    @VladimirLagutin-op4yg4 жыл бұрын

    Это супер! Спасибо большое) Отличное видео!

  • @gregre8928
    @gregre89285 жыл бұрын

    Интересны микросервисы, их связь как на одной машине, так и на разных серверах.

  • @BoostBrainCourse

    @BoostBrainCourse

    5 жыл бұрын

    Тогда надо будет начать с Докера.

  • @gregre8928

    @gregre8928

    5 жыл бұрын

    BoostBrain, было бы классно! )

  • @kronst

    @kronst

    5 жыл бұрын

    @@BoostBrainCourse С нетерпением ждем следующих видео. :)

  • @maxmaroff260
    @maxmaroff2604 жыл бұрын

    Большое спасибо за уроки!!!

  • @konstantinchvilyov9602
    @konstantinchvilyov96022 жыл бұрын

    Спасибо! Отлично!

  • @XeonFGT
    @XeonFGT3 жыл бұрын

    Попробуйте сделать порядок урока обратный, сначала показать результат, передать параметр, а потом начинать кодить, потому что при первом просмотре, как у новичка мне не понятно, что за что отвечает. Мне кажется так будет проще для восприятия.

  • @ivanulanov2377
    @ivanulanov23775 жыл бұрын

    Добрый день! Как вы смотрите на то, чтобы сделать "реальный" проект. Может что-то из собственного опыта. Или может разобрать что-то из вопросов из тестовых заданий. Чтобы можно было понять каждый этап. Начинаная с несложного ТЗ, включая тестирование.

  • @vasiliicojocari1758
    @vasiliicojocari17585 жыл бұрын

    Пожалуйста сделайте урок про круд операций, например веб страница где есть таблица и с помощью кнопок управлять эту таблицу.

  • @user-nd84209
    @user-nd842092 жыл бұрын

    Можно REST API, без Spring, код в студию. Желательно, код на Java.

  • @9Ipowa
    @9Ipowa5 жыл бұрын

    Есть маленькое замечание. В книгах 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 Доброго времени суток, книгу изучали в оригинале или на русском языке? Насколько сильно влияние перевода на качество материала, если в курсе - не сориентируете?

  • @lanalystan9581
    @lanalystan95814 жыл бұрын

    Спасибо!

  • @viktorkrechikov7293
    @viktorkrechikov72932 жыл бұрын

    thanks

  • @androedge
    @androedge5 жыл бұрын

    Интересует и такая тема - мы всё написали и хотим передать приложение куда-то на сторонний ресурс. На нашей машине есть база данных, все таблицы и начальные данные. Конечно, можно написать скрипты, которые на нашей машине проверяют наличие или отсутствие таблиц конкретных и связанных и создают их и заполняют данными, при этом сама база(схема) есть на нашей машине. Как передать приложение или его maven-проект, что бы это приложение само развёртывалось и создавало изначальную базу данных на стороннем ресурсе? При наличии базы дальше вступают в дело скрипты(plsql или pgsql). Я надеюсь это будет интересно не только мне.

  • @androedge

    @androedge

    5 жыл бұрын

    Забегая немного вперёд, я видел, на одном канале, как подобную вещь вскользь показывал автор, он упоминал ligvidbase или что-то подобное. Очень заинтересовало, но там был курс для аксакалов Java. Был бы крайне признателен за подобный how-to разбор и комментарии Ваши. Падпещек, примерно с год.

  • @BoostBrainCourse

    @BoostBrainCourse

    5 жыл бұрын

    Очень интересный вопрос, явно новички таким вопросом редко задаются) Тема называется Continuous Integration & Continuous Delivery или CI&CD. И применение Luquibase это часть процесса.

  • @denisgeraskin5532
    @denisgeraskin55322 жыл бұрын

    Всем у кого ошибка на при добавлении spring-boot-maven-plugin После spring-boot-maven-plugin добавьте 2.6.3 - укажите свою версию!

  • @user-jj5rt7dd9e
    @user-jj5rt7dd9e4 жыл бұрын

    Надо видео с каким фронтендом лучше комбинировать rest java. На голом ajax, какой нибудь ReactJS или Anaguar. Какой фронтенд легко развернуть под rest api??

  • @BoostBrainCourse

    @BoostBrainCourse

    4 жыл бұрын

    Фактически любой фреймворк или библиотека для фронта работает с rest api

  • @AlexAlex-qx2ho
    @AlexAlex-qx2ho5 жыл бұрын

    Нужны дополнительные видео по HTTP.

  • @user-lb2ld2lq6t
    @user-lb2ld2lq6t5 жыл бұрын

    Думал что канал умер(((но рад что ошибся)))если как то можем помочь каналу, то говорите)))

  • @BoostBrainCourse

    @BoostBrainCourse

    5 жыл бұрын

    Ну разве что добавить пару часов к суткам)

  • @user-lb2ld2lq6t

    @user-lb2ld2lq6t

    5 жыл бұрын

    BoostBrain 😂увы это не в моих силах

  • @k5p5o5
    @k5p5o53 жыл бұрын

    Благодарю за отличное видео! Но у меня почему-то пришлось добавить в pom.xml: org.springframework.boot spring-boot-autoconfigure 2.1.7.RELEASE Иначе аннотация не распознавалась.

  • @Pewdew
    @Pewdew3 жыл бұрын

    Непонятно почему запрос юрл стал именно гет. Пойду искать инфу. Там же не было никаких в запросе указаний

  • @somediedrank
    @somediedrank3 жыл бұрын

    ошибка правильно так: CREATE - POST READ - GET UPDATE - PUT DELETE - DELETE

  • @java_coder

    @java_coder

    3 жыл бұрын

    Тоже слух резануло)

  • @ThePegoch
    @ThePegoch5 жыл бұрын

    К сожалению застрял на моменте с добавление Аннотации, я так понимаю у меня Maven не загружает необходимые библиотеки Spring, хотя все сделал как в видео и Maven последний 3.6.1 UDP: заработало с версией springboot 1.2.5.RELEASE, версию как видео 2.1.1.RELEASE видит, но не загружает библиотеки

  • @user-yk8cd1wp5x

    @user-yk8cd1wp5x

    5 жыл бұрын

    В настройках проекта в Идее авто-импорт включён? Пробовали грохнуть локальный репозиторий мавен и сделать реимпорт? Собрать проект из командной строки через mvn clean package?

  • @Alex11Fox
    @Alex11Fox4 жыл бұрын

    Вопрос: 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 ну я посмотрел на дату и так и подумал, может другим пригодится

  • @AndreyBaranov93
    @AndreyBaranov934 жыл бұрын

    Всем привет! Очень заметно изменился стиль видео В ЛУЧШУЮ СТОРОНУ! Спасибо. приятно смотреть. Возвращаюсь к своей просьбе, которая была озвучена около 2-х лет назад: - Разработка Spring MVC с 2-5 сущностей, запрос-ответ, CRUD в базу. Ошибка возникает, что бин сущности уже используется. моя почта newsvenc@gmail.com. Можете на примере показать как эта штука работает.

  • @BoostBrainCourse

    @BoostBrainCourse

    4 жыл бұрын

    Могу поделиться кодом учебного проекта, где примерно это и сделано.

  • @AndreyBaranov93

    @AndreyBaranov93

    4 жыл бұрын

    @@BoostBrainCourse было бы не плохо. моя почта newsvenc@gmail.com

  • @user-is6dr2zz5c
    @user-is6dr2zz5c2 жыл бұрын

    Возврат XML это SOAP, не REST)

  • @BoostBrainCourse

    @BoostBrainCourse

    2 жыл бұрын

    Нет! SOAP это настоящий протокол, со структурами и спецификацией.

  • @Mikhail_Ivanovich
    @Mikhail_Ivanovich5 жыл бұрын

    Хочу получить, образование 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 Спасибо за открытый и честный ответ.

  • @user-yk8cd1wp5x

    @user-yk8cd1wp5x

    5 жыл бұрын

    Категорически рекомендую найти на бирже приглашения на учёбу-стажировку от крупных интеграторов: Ай-теко, Крок, Epam, ЛАНИТ, SoftLine. Знаю, что у первых трёх есть школы с достаточно низким порогом вхождения - довольно знать синтаксис языка, знать структуру проекта и уметь написать простенькую консольную программу. При упорстве и желании за 3-4 месяца вас там подтянут до уровня стажёра с минимум знаний для разработки/поддержки ентерпрайз приложений и отправят в одну из своих групп на стажировку. Там же, от пары месяцев до полугода вы будете тренироваться на реальных продуктах под руководством куратора из команды(зп 30-50 т.р.) и уж потом сможете претендовать на место джуна. Можно попробовать попасть в школу крупного игрока (Тинькофф, Сбер, МТС, Майлру, Яндекс, ..) но туда требуется высокий порог вхождения и, зачастую, профильное образование математика. Всяческие платные онлайн школы я считаю излишними - глупо платить за то, что можно посмотеть в интернет бесплатно и спросить в сообществе. Опять же: разработка - это постоянный поиск информации и если вы не можете самостоятельно найти информацию и разобраться в том что такое DI контейнер или контекст выполнения вам, без обид, не сюда - поищите свою нишу ..

Келесі