Полный курс Laravel Swagger. REST API Laravel

Поділитися
Вставка
  • Опубліковано 27 жов 2024

КОМЕНТАРІ • 49

  • @biLLie_wiLLie
    @biLLie_wiLLie Рік тому +39

    Мужик, спасибо за полезное видео. Сними про Redis пожалуйста! Ребята, поднимите коммент лайками плиз.

    • @antonpiatenko577
      @antonpiatenko577 Рік тому +4

      Тоже было бы интересно посмотреть

    • @andrewlevitsky6270
      @andrewlevitsky6270 Рік тому +1

      @@antonpiatenko577 Тоже пишу коментьі под видео с аналогичной просьбой! Почти нет на ютуб свежих актуальньіх роликов по даной теме....

    • @ДмитрийВладимирович-г4ц
      @ДмитрийВладимирович-г4ц Рік тому +2

      Лучше про RabbitMq

  • @sergeykondratev5721
    @sergeykondratev5721 Рік тому +13

    Лучшего учителя ещё не встречал, автору большой респект

  • @andrewlevitsky6270
    @andrewlevitsky6270 Рік тому +12

    Красавчик, спасибо за труд

  • @vimitali7630
    @vimitali7630 Рік тому +6

    Огромное спасибо, очень вовремя!!!

  • @andrewlevitsky6270
    @andrewlevitsky6270 Рік тому +14

    Cделай пожалуйста видео по кешированию данньіх, а именно про Redis и ему подобное. Очень нужна информация єта в структурированном класном виде в твоем стиле подачи!)
    Поддержите лайками чтоб автор увидел!

  • @whatisintelligence6881
    @whatisintelligence6881 Рік тому +3

    Отличный урок, спасибо!

  • @gru8299
    @gru8299 Рік тому +3

    От души огромное благодарю Уважаемый!👋👍👏

  • @alexKaprushaDev
    @alexKaprushaDev Рік тому +2

    каждое видео просто класс

  • @alderion-el-thunder
    @alderion-el-thunder Рік тому +1

    Посмотрел видео после перерыва в программировании чтобы освежить память - спасибо, было полезно.
    Пара моментов:
    1. У себя я описываю методы внутри контроллеров, причем каждый метод описывается отдельно над ним самим, а не над контроллером в целом - достаточно удобно для сравнения самого метода и аннотации к нему. При этом у меня что методы, что аннотации по умолчанию свернуты, поэтому все выглядит компактно и красиво.
    2. Схемы можно расписывать отдельно внизу аннотации, а в аннотации метода ссылаться на них.
    3. Можно включить автогенерацию документации, чтобы каждый раз не генерировать ее вручную.
    4. Еще я не использовал allOf, видимо потому, что принимаю не JSON, а параметры отдельно.

  • @augcat50
    @augcat50 Рік тому +1

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

  • @АндрейГалушко-е9о

    Просто пушка! спасибо за качественный материал!

  • @Khudayberdiyev-gs9mn
    @Khudayberdiyev-gs9mn Рік тому +2

    Спасибо как раз прошлом видео написал про это в коментарии)

  • @qoonmax
    @qoonmax Рік тому +4

    1. Вы раньше практиковали однометодные контроллеры, мне кажется сейчас они максимально актуальны. Создавать дубль одного и того-же контроллера, сомнительно конечно. Да вам придётся прописать все 4 роута для круда, но в этом есть и плюсы, вы избавитесь от этой магии ресурса, для новичков так супер актуально.
    2. ХЗ как там работает сваггер если его отдельным докер-контейнром организовывать, но чисто в теории, это может лишить вас этих проблем с авторизацией. Можно повесить авторизацию на уровне nginx, или что-то вроде того.
    3. Кому нужно организовать доку, и с вас не требуют обязательно сделать это через сваггер, есть решение по проще. Можно сделать доку через постман.
    В постмане можно нажать на всю группу и сгенерить доку, он сгенерит тоже html-ку.
    В постмане можно очень легко делать варианты запросов и их ответов. Не помню точно как называется, но там возле ответа есть кнопка "Save as example" что-то такое. Вы можете наплодить много вариантов, где каждый например уникалльный. Вот 200, вот 404, вот 422, вот 500.
    Он генериит странички где будут и все вариант запроса и все вариант ответа, и описание можно добавить.
    В общем, сильно проще, в добавок вы и так скорее всего уже юзаете постман и у вас есть там запросы, зачем их дублировать в сваггер? :))

    • @TokolS1337
      @TokolS1337 6 місяців тому

      Сваггер умеет генерить клиентский апи. У нас на проекте на его основе фронты апишку связывают

  • @romanetsenterprises
    @romanetsenterprises 9 місяців тому +2

    Так там вроде в VerifyCsrfToken не надо ставить в исключение, если роуты берутся из api, там вроде по умолчанию уже не проверяется csrf

  • @paul.inglsmit
    @paul.inglsmit Рік тому

    Ютуб мои мысли читает. Только думал о том как swagger c laravel вяжется. И вот он в предложениях просмотра.

  • @skyand_fly
    @skyand_fly 4 місяці тому

    Удачи тебе брат!

  • @ИльяК-з2р
    @ИльяК-з2р Рік тому +3

    Как по мне это боль !
    Код файл с кодом перегружен (хотя можно выносить параметры запроса и формат ответа в ресурсы или реквесты) описанием для свагера. Дубликаты контроллеров тоже боль.

  • @АртурЗарипов-ю9п

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

  • @lisichkinuriy4136
    @lisichkinuriy4136 4 місяці тому +1

    А чем эти PHP аннотации лучше обычного yaml файла c OpenApi спецификациями? OpenApi спецификации хорошо поддерживается IDE, а PhpStorm - он сам себе сваггер. Там есть кнопка типа "скомпилировать доки из спецификации".
    Выглядит это все очень странно, как будто технология используется не по назначению. В программный код вручную добавляется второй параллельный программный код, тем более какие-то лишние классы.
    Поймите правильно, не холиварю и без притензий. Но в легком замешательстве. Может чего не понял.

  • @dmitriivanov7010
    @dmitriivanov7010 Рік тому

    Шрифт отличный. Лично я отлично вижу

  • @Серёга-г8щ7ю
    @Серёга-г8щ7ю Рік тому +1

    Гоу редис, кешинг !! Имбовая темка

  • @sani4051992
    @sani4051992 2 місяці тому

    Авторизация в Swagger работает с Sanctum или только с JWT?

  • @sashasss7114
    @sashasss7114 Рік тому +1

    Laravel Creative, расскажите пожалуйста про websocket на production версии с HTTPS.

  • @polirovkaalmaty
    @polirovkaalmaty Рік тому +1

    Ураааа🎉🎉🎉🎉

  • @АртемАртеменконезабывайвыходит

    сделаешь курс по админке Laravel Orchid или полноценную админку с ролями и тд а не эти огрызки от админки ?)

  • @Noilty
    @Noilty 8 місяців тому

    Привет, а как сделать что-бы в параметрах можно было вводить заголовки, у меня базовая авторизация и при отправки запроса через сваггер он выдаёт диалоговое окно?

  • @alexandr9900
    @alexandr9900 10 місяців тому

    интересно, в @OA\Response всегда будет выдаваться : response=200, description="Ok", независимо от результата? Допустим, пытаюсь удалить пост, которого нет, в Server response выйдет ошибка с кодом 400- "Error: Bad Request", а ниже, в респонсес так и выдается, код 200 и "Ок".

  • @XanderEVGs
    @XanderEVGs 6 місяців тому

    Это какая то боль. Использую стандартную аутентификацию. Ид сесси сохраняет в куку в виде строки, в которой есть вот такой кусок "joiIn0%3D". Вставляя эту строку в сваггер, получаю вот такой кусок строки "joiIn0%253D", т е знак процента кодируется в %25.
    Что делать то((((

  • @skyand_fly
    @skyand_fly 4 місяці тому

    Хотелось бы видео по апи в 11 версии.

  • @НиколайН-т3т
    @НиколайН-т3т Рік тому

    Спасибо за видео!
    Каким образом можно добавить в в сваггер необязательное наличие jwt, от наличия которого будет зависеть объем данных в ответе?

  • @handleftman
    @handleftman Рік тому +2

    Странно, что до сих пор этот компонент сам не берет route:list и не анализирует синтакс контроллеров 😅

  • @artemlaravel8769
    @artemlaravel8769 Рік тому

    Работал с RabbitMq Reddis? было бы интересн окак это в связке работает

  • @alexandr9900
    @alexandr9900 11 місяців тому

    было бы хорошо, если бы автор ролика выкладывал свой код на гитхаб.

  • @farhad_f
    @farhad_f 10 місяців тому

    Чет не выходит ошибка на 22:50, в консоли выводит: ERROR There are no commands defined in the "l5-swagger" namespace.

    • @farhad_f
      @farhad_f 10 місяців тому

      Проект создаем в подсистеме Linux на винде не работает

  • @nick-test
    @nick-test Рік тому

    Не хватало мне подобного урока очень давно, но посмотрев его сейчас подумал "хорошо что раньше не нашел"..
    Не понимаю зачем захламлять проект этими комментариями, если можно всё описывать в openapi файле и читать его swagger'ом

  • @TsA1ex
    @TsA1ex 11 місяців тому +1

    Максимально неудобный подход
    1. Руками расставлять отступы, форматировать, нет атокоплитов. Через некоторе время эти коменты превратятся в хаос
    2. Дублировать руками контроллеры, вообще дичь. Лишние файлы, при добавлении новых методов нужно не забыть дублировать в оба места, по-любому кто-то по ошибке при разработке вставит в роутере вызов метода контроллера, который ничего не делает
    3. Генерировать каждый раз документацию
    Решения
    1. Писать yaml руками. Есть атвокомплит с плагинами, не будет ошибки по синтаксису, не нужно генерировать файл каждый раз. Минус - большой файл
    2. Сделать структуру с папками маленькими yaml файлами + сборщик всего этого добра в единый yaml (есть пакет для Ларки)
    3. Выбросить древний Swagger и писать документацию в Postman или другом современном инструменте

  • @zergzerg4844
    @zergzerg4844 11 місяців тому +1

    Swagger на Laravel точно не для людей сделан, какой-то извращенец его создавал. На C# и то компактнее все описывать , чем здесь.

  • @artemunix5223
    @artemunix5223 Рік тому

    aws покажешь как рабоать?

  • @malyshkinsergey3211
    @malyshkinsergey3211 Рік тому +1

    Лайк за труды, но было бы лучше без "ребятушек"?

    • @GreatOsmanSultan
      @GreatOsmanSultan Рік тому

      А ты старпер и без юмора дедуля чели?😅

  • @qwepro666
    @qwepro666 Рік тому +1

    Ты допустил одну большую ошибку. Ты описываешь полные аннотации реквестов и респонсов в контроллере, понятно что у тебя он большим станет. Надо же реквесты описывать в твоем конкретном файле реквеста где у тебя идет валидация, тоже самое и с респонсами. Так гораздо удобнее ведь ты считай описываешь поля реквеста в файле с реквестом и все поля у тебя под рукой. Вот в пример как это бы выглядело /**
    * @OA\Post(
    * path="/users",
    * @OA\RequestBody(ref="#/components/schemas/UserRequestBodySchema"),
    * @OA\Response(response=200, ref="#/components/schemas/SuccessResponseSchema"),
    * @OA\Response(response=201, ref="#/components/schemas/OtherResponseSchema")
    * ) Конструкция в контроллере вышла не большой, следовательно создавать папку свагер с одноименными контроллерами не обязательно