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
1. хочу поблагодарить вас за такой прекрасное уроки вашу изложения материала очень четко... 2. хотел бы увидеть уроки с использование Spring REST - service на практика чтобы понять основ покажите пожалуйста ( как используются REST - service на реальный практика, например было бы классно если сделать какой нибудь веб веб приложения ) или я много просил.... уроки очень доступно продолжайте пожалуйста
Не останавливайтесь пожалуйста
json бы пслушал
@BoostBrainCourse
5 жыл бұрын
Договорились
@user-so3kv1np5l
5 жыл бұрын
Поддерживаю!
Здравствуйте! Огромная благодарность за Вашу деятельность! Особенно за CDI и Filter. Если есть возможность, проиллюстрируйте оба способа. И xml и JSON. P.s досмотрел до конца. JSON есть. Присоединяюсь к комментарию с просьбой небольшого приминения rest.
у вас удивительно просто и доходчиво получается объяснять
Николай, очень хочется увидеть ваш подробный урок по созданию полноценного API, через который можно взаимодействовать мобильным приложением и влиять на базу данных в MySQL
Здравствует! Спасибо за Вашу работу!!! У меня предложение, напишите с рест апи - небольшой интернет магазин, на этом примере можно разобрать большинство тем и джейсон, и слои, и секюрити, и дао, авторизация и аунтификация пользователя. Это было бы очень круто!!!
@iryna6389
5 жыл бұрын
тем более такого контента еще нет!!!
@BoostBrainCourse
5 жыл бұрын
Идея хорошая и я обязательно попробую. Но опасаюсь, что будет не очень популярной - мало кому интересно смотреть ролик на полтора часа, в котором будет бэээ и мэээ. А уместить создание магазина в серии 10-минутных роликов довольно трудно.
@iryna6389
5 жыл бұрын
@@BoostBrainCourse Я большинство обучающих видео смотрю на увеличенной скорости, хотя когда начинала изучать джаву-смотрела в замедленном формате))) так что всем не угодишь))) В любом случае большое спасибо!!!
@saulkodavr4446
3 жыл бұрын
@@BoostBrainCourse ну Ваши подписчики поднатаскались, так что осилим!) Огромное спасибо!
создайте приложение с учетом всех этих технологий * Spring Framework * Spring Boot * Spring REST * Spring Data JPA * JPA (Hibernate)
Прервался на комментарий. Дружище благодарю за видео! Подача материала и оформление очень достойно. Музыка приятная и не громкая речь размеренная и четкая. 5 балов!
Поняла эту тему благодаря Вам 😁 Спасибо громаднейшее))
все интересно
Спасибо, очень понятно объясняете, прямо всё по делу, никакой воды.
Начало доходить после второго просмотра.
Как всегда отличная подача информации + над оформлением кто то хорошо постарался) Профессионльный уровень, по джаве таких качественных роликов еще не встречал.
@BoostBrainCourse
5 жыл бұрын
Спасибо большое! Мотивирует)
@user-vt4cs6yw7o
5 жыл бұрын
@@BoostBrainCourse тебе спасибо)
Большую работу делаешь! Спасибо.
Куда ты пропал? Такие познавательные и интересные видео
Круто, все просто и понятно, спасибо большое. Разве что ставил скорость воспроизведения на 1.25, а то голос сильно убаюкивающий:D
Классное видео, хочется увидеть продолжение
Это супер! Спасибо большое) Отличное видео!
Интересны микросервисы, их связь как на одной машине, так и на разных серверах.
@BoostBrainCourse
5 жыл бұрын
Тогда надо будет начать с Докера.
@gregre8928
5 жыл бұрын
BoostBrain, было бы классно! )
@kronst
5 жыл бұрын
@@BoostBrainCourse С нетерпением ждем следующих видео. :)
Большое спасибо за уроки!!!
Спасибо! Отлично!
Попробуйте сделать порядок урока обратный, сначала показать результат, передать параметр, а потом начинать кодить, потому что при первом просмотре, как у новичка мне не понятно, что за что отвечает. Мне кажется так будет проще для восприятия.
Добрый день! Как вы смотрите на то, чтобы сделать "реальный" проект. Может что-то из собственного опыта. Или может разобрать что-то из вопросов из тестовых заданий. Чтобы можно было понять каждый этап. Начинаная с несложного ТЗ, включая тестирование.
Пожалуйста сделайте урок про круд операций, например веб страница где есть таблица и с помощью кнопок управлять эту таблицу.
Можно REST API, без Spring, код в студию. Желательно, код на Java.
Есть маленькое замечание. В книгах Spring in Action 3-е и 4-е изданиях указывается что недопустимо передавать парамерты запроса для rest сервисов. Любые параметры должны описываться как PathVariable, тоесть вместо localhost:8080/employees?name=BoostBrain необходимо указывать следующее: localhost:8080/employees/BoostBrain. Я не претендую на абсолютную правоту, так как мой опыт несопоставимо меньше Вашего, однако хотелось бы услышать Ваше мнение о наведенном принципе. На сколько я понял, это связано с парадигмой самого REST.
@BoostBrainCourse
5 жыл бұрын
Честно говоря не читал эти книги, но обязательно загляну. Я использую следующую практику - PathVariable для идентификации ресурса, например если это запрос единичного экземпляра. Если, например, речь идёт о списке значений, то передаются параметры фильтрации. Вот статейка, которая отражает мои взгляды - medium.com/@fullsour/when-should-you-use-path-variable-and-query-parameter-a346790e8a6d Однако я благодарен за замечание, приятно видеть дискуссию такого уровня в комментариях. Это всем полезно.
@9Ipowa
5 жыл бұрын
BoostBrain очень верно подмечено - «статейка»😂 Примерно это и было описано в главе rest из вышеупомянутой книги. Однако возник другой вопрос, как именно вы изучали спринг. Может получится снять отдельное видео о том как и в каком порядке учить данный фреймворк, так как модулей в нем много, с чего начать не понятно. Одни говорят - книги, другие документация, третьи - вовсе втупую качать проекты на спринг и смотреть как оно все работает. Для меня, к слову, эта тема уже не столь актуальна, так как я изучал этот фреймоврк по крупицам из разных источников на протяжении трех месяцев, но, мне кажется, что конкретные советы в начале пути ускорили бы обучение многократно. Уверен это будет полезно для всех начинающих изучать этого монстра
@BoostBrainCourse
5 жыл бұрын
Я начинал с Энтерпрайза и начал изучать Спринг, что называется, с корабля на бал. То есть получил проект для приведения в чувство, а проект был на Спринг. Изучал кусочками, ориентируясь на то, что мне было непонятно. И только потом купил книгу Спринг 5 для профессионалов и пожалел, что не сделал этого сразу. Так что я плохой пример. Я за книгу, там все последовательно и во взаимосвязях.
@andreypylyptiy5448
4 жыл бұрын
@@BoostBrainCourse Доброго времени суток, книгу изучали в оригинале или на русском языке? Насколько сильно влияние перевода на качество материала, если в курсе - не сориентируете?
Спасибо!
thanks
Интересует и такая тема - мы всё написали и хотим передать приложение куда-то на сторонний ресурс. На нашей машине есть база данных, все таблицы и начальные данные. Конечно, можно написать скрипты, которые на нашей машине проверяют наличие или отсутствие таблиц конкретных и связанных и создают их и заполняют данными, при этом сама база(схема) есть на нашей машине. Как передать приложение или его maven-проект, что бы это приложение само развёртывалось и создавало изначальную базу данных на стороннем ресурсе? При наличии базы дальше вступают в дело скрипты(plsql или pgsql). Я надеюсь это будет интересно не только мне.
@androedge
5 жыл бұрын
Забегая немного вперёд, я видел, на одном канале, как подобную вещь вскользь показывал автор, он упоминал ligvidbase или что-то подобное. Очень заинтересовало, но там был курс для аксакалов Java. Был бы крайне признателен за подобный how-to разбор и комментарии Ваши. Падпещек, примерно с год.
@BoostBrainCourse
5 жыл бұрын
Очень интересный вопрос, явно новички таким вопросом редко задаются) Тема называется Continuous Integration & Continuous Delivery или CI&CD. И применение Luquibase это часть процесса.
Всем у кого ошибка на при добавлении spring-boot-maven-plugin После spring-boot-maven-plugin добавьте 2.6.3 - укажите свою версию!
Надо видео с каким фронтендом лучше комбинировать rest java. На голом ajax, какой нибудь ReactJS или Anaguar. Какой фронтенд легко развернуть под rest api??
@BoostBrainCourse
4 жыл бұрын
Фактически любой фреймворк или библиотека для фронта работает с rest api
Нужны дополнительные видео по HTTP.
Думал что канал умер(((но рад что ошибся)))если как то можем помочь каналу, то говорите)))
@BoostBrainCourse
5 жыл бұрын
Ну разве что добавить пару часов к суткам)
@user-lb2ld2lq6t
5 жыл бұрын
BoostBrain 😂увы это не в моих силах
Благодарю за отличное видео! Но у меня почему-то пришлось добавить в pom.xml: org.springframework.boot spring-boot-autoconfigure 2.1.7.RELEASE Иначе аннотация не распознавалась.
Непонятно почему запрос юрл стал именно гет. Пойду искать инфу. Там же не было никаких в запросе указаний
ошибка правильно так: CREATE - POST READ - GET UPDATE - PUT DELETE - DELETE
@java_coder
3 жыл бұрын
Тоже слух резануло)
К сожалению застрял на моменте с добавление Аннотации, я так понимаю у меня Maven не загружает необходимые библиотеки Spring, хотя все сделал как в видео и Maven последний 3.6.1 UDP: заработало с версией springboot 1.2.5.RELEASE, версию как видео 2.1.1.RELEASE видит, но не загружает библиотеки
@user-yk8cd1wp5x
5 жыл бұрын
В настройках проекта в Идее авто-импорт включён? Пробовали грохнуть локальный репозиторий мавен и сделать реимпорт? Собрать проект из командной строки через mvn clean package?
Вопрос: 1) зачем писать @Rest Controller если можно просто написать @Controller 2) у вас вложженый внутренный класс RestResponce, для чего?
@maxmara4551
4 жыл бұрын
Вложенный класс для примера, объект этого класса возвращается в виде JSON браузеру, можно было сделать его в отдельном файле. RestController является наследником Controller и говорит на о том, что данный контроллер является rest контроллером и будет возвращать JSON, например, а не html представление, как в случае с Controller .
@Alex11Fox
4 жыл бұрын
@@maxmara4551 Спс, спустя какого время изучения я уже всё понял)
@maxmara4551
4 жыл бұрын
Valera Fox ну я посмотрел на дату и так и подумал, может другим пригодится
Всем привет! Очень заметно изменился стиль видео В ЛУЧШУЮ СТОРОНУ! Спасибо. приятно смотреть. Возвращаюсь к своей просьбе, которая была озвучена около 2-х лет назад: - Разработка Spring MVC с 2-5 сущностей, запрос-ответ, CRUD в базу. Ошибка возникает, что бин сущности уже используется. моя почта newsvenc@gmail.com. Можете на примере показать как эта штука работает.
@BoostBrainCourse
4 жыл бұрын
Могу поделиться кодом учебного проекта, где примерно это и сделано.
@AndreyBaranov93
4 жыл бұрын
@@BoostBrainCourse было бы не плохо. моя почта newsvenc@gmail.com
Возврат XML это SOAP, не REST)
@BoostBrainCourse
2 жыл бұрын
Нет! SOAP это настоящий протокол, со структурами и спецификацией.
Хочу получить, образование java программиста, подскажите кто действительно сегодня на рынке готовит, спасибо.
@alexl5607
5 жыл бұрын
Сперва нужно открыть вакансии, стажировки посмотреть или junior позиции, ознакомиться со стэком технологий, примерным. Нужно знать java core хорошо, структуры данных и алгоритмы, + опять таки же поверхностные знания по EE. Работа - лучший учитель)
@Mikhail_Ivanovich
5 жыл бұрын
@@alexl5607 спасибо за ответ, в принципе я так и предполагал, что нужно искать команду программистов
@alexnovik6223
5 жыл бұрын
@@Mikhail_Ivanovich интересно, какая команда возьмет без фундаментальных знаний? Нынешний джун должен знать хорошо теорию, иметь опыт самостоятельной разработки минимальных проектов, понимать алгоритмы и синтаксис. Разбираться в ООП и еще много чего. Но к любым курсам нужно много практики. Выучиться до начального уровня джуна с нуля быстрее чем за полгода - почти нереально. Обычно от 9 месяцев до 1,5 лет обучения. При поиске первой работы нужно уже уметь настраивать окружение и Git, знать Java Core, алгоритмы, синтаксис, теорию связанную с ООП и не только, конвенцию о стиле кода, минимальный английский, Spring, Maven, Hibernate и в принципе как работать с базами данных и клиент-серверной архитектурой. Можно немного изучить JS, а так же вы должны перед собеседованием понимать все, что написано в книгах по Java. Если готовы потратить полгода на обучение по 3-5 часов в неделю, то выбирайте курсы (онлайн или оффлайн) и ресурс с большим количеством задач (например JavaRush - там автоматически проверяется решение, но стоит денег). Поверьте - никто не захочет брать человека без базовых знаний только из за его желания "войтивайти"
@Mikhail_Ivanovich
5 жыл бұрын
@@alexnovik6223 Спасибо за открытый и честный ответ.
@user-yk8cd1wp5x
5 жыл бұрын
Категорически рекомендую найти на бирже приглашения на учёбу-стажировку от крупных интеграторов: Ай-теко, Крок, Epam, ЛАНИТ, SoftLine. Знаю, что у первых трёх есть школы с достаточно низким порогом вхождения - довольно знать синтаксис языка, знать структуру проекта и уметь написать простенькую консольную программу. При упорстве и желании за 3-4 месяца вас там подтянут до уровня стажёра с минимум знаний для разработки/поддержки ентерпрайз приложений и отправят в одну из своих групп на стажировку. Там же, от пары месяцев до полугода вы будете тренироваться на реальных продуктах под руководством куратора из команды(зп 30-50 т.р.) и уж потом сможете претендовать на место джуна. Можно попробовать попасть в школу крупного игрока (Тинькофф, Сбер, МТС, Майлру, Яндекс, ..) но туда требуется высокий порог вхождения и, зачастую, профильное образование математика. Всяческие платные онлайн школы я считаю излишними - глупо платить за то, что можно посмотеть в интернет бесплатно и спросить в сообществе. Опять же: разработка - это постоянный поиск информации и если вы не можете самостоятельно найти информацию и разобраться в том что такое DI контейнер или контекст выполнения вам, без обид, не сюда - поищите свою нишу ..