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

Поделиться
HTML-код
  • Опубликовано: 29 ноя 2024

Комментарии • 49

  • @biLLie_wiLLie
    @biLLie_wiLLie Год назад +40

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

    • @antonpiatenko577
      @antonpiatenko577 Год назад +4

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

    • @andrewlevitsky6270
      @andrewlevitsky6270 Год назад +1

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

    • @ДмитрийВладимирович-г4ц
      @ДмитрийВладимирович-г4ц Год назад +2

      Лучше про RabbitMq

  • @sergeykondratev5721
    @sergeykondratev5721 Год назад +13

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

  • @andrewlevitsky6270
    @andrewlevitsky6270 Год назад +12

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

  • @vimitali7630
    @vimitali7630 Год назад +6

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

  • @whatisintelligence6881
    @whatisintelligence6881 Год назад +3

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

  • @gru8299
    @gru8299 Год назад +3

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

  • @alderion-el-thunder
    @alderion-el-thunder Год назад +1

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

  • @alexKaprushaDev
    @alexKaprushaDev Год назад +2

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

  • @augcat50
    @augcat50 Год назад +1

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

  • @andrewlevitsky6270
    @andrewlevitsky6270 Год назад +14

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

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

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

  • @Khudayberdiyev-gs9mn
    @Khudayberdiyev-gs9mn Год назад +2

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

  • @paul.inglsmit
    @paul.inglsmit Год назад

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

  • @romanetsenterprises
    @romanetsenterprises 10 месяцев назад +2

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

  • @skyand_fly
    @skyand_fly 5 месяцев назад

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

  • @qoonmax
    @qoonmax Год назад +4

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

    • @TokolS1337
      @TokolS1337 7 месяцев назад

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

  • @АртурЗарипов-ю9п
    @АртурЗарипов-ю9п Год назад +1

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

  • @dmitriivanov7010
    @dmitriivanov7010 Год назад

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

  • @ИльяК-з2р
    @ИльяК-з2р Год назад +3

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

  • @Серёга-г8щ7ю
    @Серёга-г8щ7ю Год назад +1

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

  • @lisichkinuriy4136
    @lisichkinuriy4136 5 месяцев назад +1

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

  • @sashasss7114
    @sashasss7114 Год назад +1

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

  • @polirovkaalmaty
    @polirovkaalmaty Год назад +1

    Ураааа🎉🎉🎉🎉

  • @sani4051992
    @sani4051992 3 месяца назад

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

  • @НиколайН-т3т
    @НиколайН-т3т Год назад

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

  • @alexandr9900
    @alexandr9900 Год назад

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

  • @Noilty
    @Noilty 9 месяцев назад

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

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

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

  • @XanderEVGs
    @XanderEVGs 7 месяцев назад

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

  • @skyand_fly
    @skyand_fly 5 месяцев назад

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

  • @artemlaravel8769
    @artemlaravel8769 Год назад

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

  • @TsA1ex
    @TsA1ex Год назад +1

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

  • @handleftman
    @handleftman Год назад +2

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

  • @farhad_f
    @farhad_f 11 месяцев назад

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

    • @farhad_f
      @farhad_f 11 месяцев назад

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

  • @alexandr9900
    @alexandr9900 Год назад

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

  • @nick-test
    @nick-test Год назад

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

  • @artemunix5223
    @artemunix5223 Год назад

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

  • @zergzerg4844
    @zergzerg4844 Год назад +1

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

  • @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")
    * ) Конструкция в контроллере вышла не большой, следовательно создавать папку свагер с одноименными контроллерами не обязательно