Пишем REST API на Java с нуля

Sdílet
Vložit
  • čas přidán 22. 08. 2024
  • 🖖 Приветствую на первом занятии из серии уроков по написанию REST API.
    В этой части я покажу как:
    ▫️ Собрать проект со всеми необходимыми зависимостями
    ▫️ Написать код, который будет обрабатывать входящие HTTP запросы
    ▫️ Запустить сервер на локальной машине, и общаться с ним через программу Postman
    ▫️ Преобразовать Java объект в JSON формат, для передачи данных
    📫 Обратная связь - pavel.stanislavovich.ge@gmail.com
    👉 Другие курсы на Stepik - stepik.org/use...
    🔥 Telegram канал - t.me/NerzonCha...

Komentáře • 55

  • @rzhutube1
    @rzhutube1 Před 3 měsíci +2

    Мне кажется у твоего канала большое будущее) качественный контент Лайк подписка однозначно) Желаю тебе успехов)

    • @NerzonIT
      @NerzonIT  Před 3 měsíci

      Спасибо вам большое ❤️

  • @robzzzas
    @robzzzas Před měsícem +1

    Сейчас прохожу практику на 3 курсе в компании Neoflex. Как раз получил задание на разработку приложения Rest API. Твой канал как нельзя кстати, спасибо и успехов.

    • @NerzonIT
      @NerzonIT  Před měsícem

      Спасибо и успехов!

  • @kolcefer
    @kolcefer Před 5 měsíci +1

    Лучшее видео для новичков по REST. Незаслуженно мало просмотров! Лайк подписка колокольчик)

    • @NerzonIT
      @NerzonIT  Před 5 měsíci

      Спасибо большое ❤️

  • @user-gz6uz5mn4g
    @user-gz6uz5mn4g Před 6 měsíci +1

    Не понимаю почему так мало просмотров. Как начинающему, все было очень понятно. Большое спасибо, продолжай!

    • @NerzonIT
      @NerzonIT  Před 6 měsíci

      Спасибо большое ❤️

  • @yarikstarodub2037
    @yarikstarodub2037 Před 8 měsíci +2

    Большое спасибо за урок. Очень полезно. Комментарии обычно не пишу, но хочу помочь в развитии хоть как-то)

    • @NerzonIT
      @NerzonIT  Před 8 měsíci

      Спасибо большое 😇

  • @TravelW_
    @TravelW_ Před 14 dny

    Очень качественный контент, спасибо автору за такую подачу!))

    • @NerzonIT
      @NerzonIT  Před 14 dny +1

      Вам спасибо за отзыв!)

  • @TheWaRmeN13
    @TheWaRmeN13 Před 9 měsíci +2

    Очень приятно слушать, хорошее видео. Ставлю лайк для продвижения контента
    Но немного подушню (без негатива, естественно):
    1) сейчас всё же более современным вариантом инжекта бинов является вариант через RequiredArgsConstructor без Autowired
    2) было бы хорошо, если бы ты хотя бы пару слов сказал про RequestMapping у контроллера (пользоваться им, естественно, не обязательно было в видео, но сказать пару слов, считаю, нужно было)
    3) стоило добавить, что в контроллере можно возвращать просто сам объект без предварительной сериализации, ибо это происходит под капотом с помощью Джексона, который, как ты и сказал, уже встроен в спринг

    • @NerzonIT
      @NerzonIT  Před 9 měsíci +1

      Да, со всем согласен, если не ошибаюсь про пункты 1,3 сказал во второй части.
      Спасибо за отзыв!)

    • @TheWaRmeN13
      @TheWaRmeN13 Před 9 měsíci

      @@NerzonIT :)

  • @hurricane-rus
    @hurricane-rus Před 5 měsíci +2

    Спасибо за объяснения!
    Желательно увеличить размер шрифта в IntelliJ - в некоторых местах очень мелко, приходится присматриваться, чтобы что-то разобрать

    • @NerzonIT
      @NerzonIT  Před 5 měsíci

      Спасибо большое за отзыв!

  • @M132_
    @M132_ Před 4 měsíci

    Спасибо за отличную подачу информации

    • @NerzonIT
      @NerzonIT  Před 4 měsíci

      Спасибо большое за обратную связь!

  • @sworpy8731
    @sworpy8731 Před 4 měsíci +1

    Очень грамотный контент,так держать!Продолжай в том же духе!ты помогаешь людям !
    Не думал создать тг канал?

    • @NerzonIT
      @NerzonIT  Před 4 měsíci

      Привет! Спасибо за отзыв, очень приятно.
      А телеграм есть - t.me/NerzonChannel

  • @RaiseNameErrorRust
    @RaiseNameErrorRust Před 9 měsíci +1

    Спасибо за видео!

    • @NerzonIT
      @NerzonIT  Před 9 měsíci

      Спасибо за благодарность😇

    • @RaiseNameErrorRust
      @RaiseNameErrorRust Před 9 měsíci +1

      @@NerzonIT продолжаете в том же духе! Успехов вашему каналу!

  • @neyasbit
    @neyasbit Před 9 měsíci +1

    Бомба! 💣

    • @NerzonIT
      @NerzonIT  Před 9 měsíci

      Благодарю ❤️

  • @user-ll7ds7ob9i
    @user-ll7ds7ob9i Před 9 měsíci

    супер видео! спасибо большое!

    • @NerzonIT
      @NerzonIT  Před 9 měsíci

      Спаибо за отзыв :)

  • @user-rr1sc7lz4f
    @user-rr1sc7lz4f Před 5 měsíci +1

    Очень все хорошо доносите материал! Однако в последнем методе непонятно зачем использовать post запрос, get сделает то же самое!) (если для демонстрации только)

    • @NerzonIT
      @NerzonIT  Před 5 měsíci

      Спасибо за отзыв!

  • @dmaberlin
    @dmaberlin Před 9 měsíci +1

    спасибо!

  • @user-gh3bs7xk1h
    @user-gh3bs7xk1h Před 5 měsíci +1

    Спасибо

    • @NerzonIT
      @NerzonIT  Před 5 měsíci

      Всегда пожалуйста 😇

  • @maksymkotov
    @maksymkotov Před 9 měsíci +1

    Неймовірно багато гівнокоду, прямо очі ріже.. . Також не розкрито концепцію REST, чекаю на більш детальне відео.

    • @NerzonIT
      @NerzonIT  Před 9 měsíci +1

      Здрастуйте, користуватимуся перекладачем, бо не знаю української мови. По-перше, на рахунок поганого коду частково з вами погоджуся, але прошу помітити, що це заняття, де я маю простими конструкціями пояснити складну тему. На рахунок неповного розкриття теж частково згоден, але тут не погодитись не можна, бо щоразу рефлексуючи над своєю роботою, здається, що можна було зробити у 100 разів краще. Я вдячний вам за відгук, і щиро намагаюся щоразу покращувати якість інформації, що надається.
      Если выше есть ошибки в переводе, то снизу тот же текст на русском языке:
      Здравствуйте, буду пользоваться переводчиком, так как не знаю украинского языка. Во-первых, на счёт плохого кода частично с вами соглашусь, но прошу заметить, что это занятие, где я должен простыми конструкциями объяснить сложную тему. На счёт неполного раскрытия тоже частично согласен, но тут не согласиться нельзя, ибо каждый раз рефлексируя над своей работой, кажется, что можно было сделать в 100 раз лучше. Я благодарен вам за отзыв, и искренне стараюсь каждый раз улучшать качество предоставляемой информации.

  • @dddyakonov
    @dddyakonov Před 8 měsíci +1

    Почему никто не показывает как работать с внешними api? У всех везде запросы идут к spring, из того же postman, а из spring в postman никто не обращается и к любому другому api с использованием токена авторизации

    • @NerzonIT
      @NerzonIT  Před 8 měsíci +1

      Обращаться можно и без токена авторизации, от API зависит. Но вы правы и я хочу записать занятие по JWT, а так же интеграции какого-нибудь внешнего API

    • @dddyakonov
      @dddyakonov Před 8 měsíci +1

      @@NerzonIT практически все сервисы работают через токены, ну по крайней мере крупные компании мне известные все по токенам работают. Запиши видосик, если не затруднит

    • @rzhutube1
      @rzhutube1 Před 3 měsíci

      На крайняк есть сервис погоды OpenWeatherMap) для видео в самый раз)

  • @krasavalerik
    @krasavalerik Před 4 měsíci

    import org.springframework.boot.SpringApplication; выделяет красным intellij idea 15.0.4
    что сделать нужно? помогите!

    • @NerzonIT
      @NerzonIT  Před 4 měsíci

      Здравствуйте! Убедиться, что вы подключили все необходимые зависимости в pom.xml файл.

  • @dd4el12
    @dd4el12 Před měsícem

    как я понял здесь вы controller, service соединили в контроллер?

    • @NerzonIT
      @NerzonIT  Před měsícem

      Сервисный слой отсутствует, верно)

  • @ArthurMorgan_01
    @ArthurMorgan_01 Před 4 měsíci

    Друг подскажи пожалуйста. Я смотрел твой гайд и не до конца понял(хотя сам гайд очень хорошо объясняет, это я тугодум)
    В чем отличие RequestParam от PathVariable и RequestBody от ResponseBody?
    Я понимаю что в одном случае напримре это запрос, а в другой ответ(если брать реквесты и респонсы), но как это применяется в CRUD?
    А PathVariable то зачем нужен если есть RequestParam?

    • @NerzonIT
      @NerzonIT  Před 4 měsíci +1

      Под Body подразуумевается тот или иной тип тела http запроса, например в формате JSON.
      Говоря про RequestParam и PathVariable, отличие как раз в том, как они применяются, PathVariable передаются внутри самого URL, а RequestParam в параметрах http запроса. Первый случай, как мне кажется, вообще нет смысла использовать в случае с REST API.

    • @ArthurMorgan_01
      @ArthurMorgan_01 Před 4 měsíci +1

      Спасибо!@@NerzonIT

  • @Hamster_Kombat_History
    @Hamster_Kombat_History Před 8 měsíci

    У вас есть группа в телеграмме , сообщество, где все общаются и спрашивают, помогают друг другу, коммунити?

    • @NerzonIT
      @NerzonIT  Před 8 měsíci

      Здравствуйте, к моему сожалению, такого комьюнити ещё нет, но существует канал в Telegram -> t.me/NerzonChannel, там время от времени выходит полезная информация.

  • @fromthegreatunknown
    @fromthegreatunknown Před 8 měsíci +1

    Это какой-то легаси урок, в джава 17 уже ломбок не нужен, там всё встроено. И да, там вместо твоих 5 строк кода с ломбоком будет всего одна

    • @NerzonIT
      @NerzonIT  Před 8 měsíci

      Здравствуйте, спасибо за отзыв. Возможно вы правы, но я не знаю об инструментах в Java 17, которые заменят мне Lombok

    • @fromthegreatunknown
      @fromthegreatunknown Před 8 měsíci

      @@NerzonIT record классы, они генерируют геттеры, сеттеры, иквалс, хэшкод, ту стринг, конструктор. Нужно просто в одну строку перечислить поля класса

    • @84ESM
      @84ESM Před 8 měsíci

      Можно пример?

    • @NerzonIT
      @NerzonIT  Před 8 měsíci

      Извините, не видел ответа.
      Да, record-ы действительно полезны в этом плане. Однако их поля неизменяемые, поэтому это не всегда нам подходит, особенно если мы говорим о JPA сущности.

    • @dimasamsonau3646
      @dimasamsonau3646 Před 7 měsíci

      @@fromthegreatunknown сеттеров там нету! ломбок record не заменит!