Пишем REST API на Java с нуля
Вставка
- Опубліковано 9 лют 2025
- 🖖 Приветствую на первом занятии из серии уроков по написанию REST API.
В этой части я покажу как:
▫️ Собрать проект со всеми необходимыми зависимостями
▫️ Написать код, который будет обрабатывать входящие HTTP запросы
▫️ Запустить сервер на локальной машине, и общаться с ним через программу Postman
▫️ Преобразовать Java объект в JSON формат, для передачи данных
📫 Обратная связь - pavel.stanislavovich.ge@gmail.com
👉 Другие курсы на Stepik - stepik.org/use...
🔥 Telegram канал - t.me/NerzonCha...
Лучшее видео для новичков по REST. Незаслуженно мало просмотров! Лайк подписка колокольчик)
Спасибо большое ❤️
Абсолютно согласен! Парень творит чудеса, но такая маленькая активность !!! Не могу понять почему?!?!?!?! Может все уже всё умеют??😆 В любом случае - не останавливайся !! Удачи! Это не просто код и объяснения, это ещё и сильная МОТИВАЦИЯ !🤝👍
Большое спасибо за урок. Очень полезно. Комментарии обычно не пишу, но хочу помочь в развитии хоть как-то)
Спасибо большое 😇
аналогично про комментарии))))
Не понимаю почему так мало просмотров. Как начинающему, все было очень понятно. Большое спасибо, продолжай!
Спасибо большое ❤️
Мне кажется у твоего канала большое будущее) качественный контент Лайк подписка однозначно) Желаю тебе успехов)
Спасибо вам большое ❤️
Хорошее видео )
Очень качественный контент, спасибо автору за такую подачу!))
Вам спасибо за отзыв!)
Сейчас прохожу практику на 3 курсе в компании Neoflex. Как раз получил задание на разработку приложения Rest API. Твой канал как нельзя кстати, спасибо и успехов.
Спасибо и успехов!
Очень приятно слушать, хорошее видео. Ставлю лайк для продвижения контента
Но немного подушню (без негатива, естественно):
1) сейчас всё же более современным вариантом инжекта бинов является вариант через RequiredArgsConstructor без Autowired
2) было бы хорошо, если бы ты хотя бы пару слов сказал про RequestMapping у контроллера (пользоваться им, естественно, не обязательно было в видео, но сказать пару слов, считаю, нужно было)
3) стоило добавить, что в контроллере можно возвращать просто сам объект без предварительной сериализации, ибо это происходит под капотом с помощью Джексона, который, как ты и сказал, уже встроен в спринг
Да, со всем согласен, если не ошибаюсь про пункты 1,3 сказал во второй части.
Спасибо за отзыв!)
@@NerzonIT :)
Огромное спасибо за работу!
Всегда пожалуйста!
Спасибо, вы человечище)
Спасибо за объяснения!
Желательно увеличить размер шрифта в IntelliJ - в некоторых местах очень мелко, приходится присматриваться, чтобы что-то разобрать
Спасибо большое за отзыв!
Спасибо за видео, стало понятнее
Спасибо за отличную подачу информации
Спасибо большое за обратную связь!
Спасибо за видео!
Спасибо за благодарность😇
@@NerzonIT продолжаете в том же духе! Успехов вашему каналу!
Бомба! 💣
Благодарю ❤️
супер видео! спасибо большое!
Спаибо за отзыв :)
Спасибо
Всегда пожалуйста 😇
Очень грамотный контент,так держать!Продолжай в том же духе!ты помогаешь людям !
Не думал создать тг канал?
Привет! Спасибо за отзыв, очень приятно.
А телеграм есть - t.me/NerzonChannel
спасибо!
:)
Очень все хорошо доносите материал! Однако в последнем методе непонятно зачем использовать post запрос, get сделает то же самое!) (если для демонстрации только)
Спасибо за отзыв!
import org.springframework.boot.SpringApplication; выделяет красным intellij idea 15.0.4
что сделать нужно? помогите!
Здравствуйте! Убедиться, что вы подключили все необходимые зависимости в pom.xml файл.
как я понял здесь вы controller, service соединили в контроллер?
Сервисный слой отсутствует, верно)
Почему никто не показывает как работать с внешними api? У всех везде запросы идут к spring, из того же postman, а из spring в postman никто не обращается и к любому другому api с использованием токена авторизации
Обращаться можно и без токена авторизации, от API зависит. Но вы правы и я хочу записать занятие по JWT, а так же интеграции какого-нибудь внешнего API
@@NerzonIT практически все сервисы работают через токены, ну по крайней мере крупные компании мне известные все по токенам работают. Запиши видосик, если не затруднит
На крайняк есть сервис погоды OpenWeatherMap) для видео в самый раз)
Друг подскажи пожалуйста. Я смотрел твой гайд и не до конца понял(хотя сам гайд очень хорошо объясняет, это я тугодум)
В чем отличие RequestParam от PathVariable и RequestBody от ResponseBody?
Я понимаю что в одном случае напримре это запрос, а в другой ответ(если брать реквесты и респонсы), но как это применяется в CRUD?
А PathVariable то зачем нужен если есть RequestParam?
Под Body подразуумевается тот или иной тип тела http запроса, например в формате JSON.
Говоря про RequestParam и PathVariable, отличие как раз в том, как они применяются, PathVariable передаются внутри самого URL, а RequestParam в параметрах http запроса. Первый случай, как мне кажется, вообще нет смысла использовать в случае с REST API.
Спасибо!@@NerzonIT
У вас есть группа в телеграмме , сообщество, где все общаются и спрашивают, помогают друг другу, коммунити?
Здравствуйте, к моему сожалению, такого комьюнити ещё нет, но существует канал в Telegram -> t.me/NerzonChannel, там время от времени выходит полезная информация.
доброго времени суток! кто писал код для вендинговый аппараты напишите мне пожалуйста. мне нужно софт для вендинговый аппараты, на счеть оплаты я думаю договоримся, спасибо за внимание!
t.me/NerzonChat
Спросите здесь🖖
Неймовірно багато гівнокоду, прямо очі ріже.. . Також не розкрито концепцію REST, чекаю на більш детальне відео.
Здрастуйте, користуватимуся перекладачем, бо не знаю української мови. По-перше, на рахунок поганого коду частково з вами погоджуся, але прошу помітити, що це заняття, де я маю простими конструкціями пояснити складну тему. На рахунок неповного розкриття теж частково згоден, але тут не погодитись не можна, бо щоразу рефлексуючи над своєю роботою, здається, що можна було зробити у 100 разів краще. Я вдячний вам за відгук, і щиро намагаюся щоразу покращувати якість інформації, що надається.
Если выше есть ошибки в переводе, то снизу тот же текст на русском языке:
Здравствуйте, буду пользоваться переводчиком, так как не знаю украинского языка. Во-первых, на счёт плохого кода частично с вами соглашусь, но прошу заметить, что это занятие, где я должен простыми конструкциями объяснить сложную тему. На счёт неполного раскрытия тоже частично согласен, но тут не согласиться нельзя, ибо каждый раз рефлексируя над своей работой, кажется, что можно было сделать в 100 раз лучше. Я благодарен вам за отзыв, и искренне стараюсь каждый раз улучшать качество предоставляемой информации.
На видео все понятно и доступно, спасибо! Но повторил код 1 в 1 (по первому GET) и получил в постмаен:
{
"timestamp": "2024-12-07T09:36:37.168+00:00",
"status": 404,
"error": "Not Found",
"path": "/api/main"
}
Здравствуйте! Указывает на то, что нет такого маппинга. Задайте свой вопрос в телеграме, t.me/NerzonChannel, приложите код, я или другие участники вам ответим :)
Если у кого-то будет аналогичная проблема, лечится добавлением в Main анатацией к классу: @ComponentScan(basePackageClasses = MainController.class)
Это какой-то легаси урок, в джава 17 уже ломбок не нужен, там всё встроено. И да, там вместо твоих 5 строк кода с ломбоком будет всего одна
Здравствуйте, спасибо за отзыв. Возможно вы правы, но я не знаю об инструментах в Java 17, которые заменят мне Lombok
@@NerzonIT record классы, они генерируют геттеры, сеттеры, иквалс, хэшкод, ту стринг, конструктор. Нужно просто в одну строку перечислить поля класса
Можно пример?
Извините, не видел ответа.
Да, record-ы действительно полезны в этом плане. Однако их поля неизменяемые, поэтому это не всегда нам подходит, особенно если мы говорим о JPA сущности.