REST API - Как сделать хорошо

  Рет қаралды 18,349

IT как Конструктор

IT как Конструктор

Күн бұрын

Пікірлер: 25
@kolob204
@kolob204 8 ай бұрын
Спасибо + В карму
@vladzh2639
@vladzh2639 Жыл бұрын
Отличный материал. Для новичка супер! Я бы ещё посоветовал сделать видео про модель данных. Связи. На примерах из реальных проектов. Потому что все в основном объясняют на библиотеках) книга автор и т.д.
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо, идея хорошая!
@petefedorov2955
@petefedorov2955 Жыл бұрын
Дружище, спасибо большое за отличный материал! Очень доступно объясняешь)
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо за слова!
@ДмитрийТарасевич-в3ц
@ДмитрийТарасевич-в3ц 9 ай бұрын
errorCode мой случай) бизнес логика может содержать свои состояния. Например http может быть 200 но по бизнес логике запрос будет отклонен - не страшно. Но например по бизнес логике нужно передать успешный код в параметре errorCode. С точки зрения семантики может здесь лучше использовать например statusCode? Как правильно, поделитесь?
@IT_like_bricks_building
@IT_like_bricks_building 9 ай бұрын
Воо, отличный пример)) В вашем случае, соглашусь, errorCode точно как-то не очень будет выглядеть. statusCode гораздо лучше, главное, что бы все участники процесса четко отличали его от http status code (в документации, в openApi спецификации).
@андрейшаульский-в5к
@андрейшаульский-в5к 10 ай бұрын
Познавательно!
@sovrinfo
@sovrinfo Жыл бұрын
Спасибо за видео. Коммент в поддержку!
@AntiGusar
@AntiGusar Жыл бұрын
Получилось так что этот видеоролик посмотрел только сейчас. Ваш пример мне очень помог в понимании написания методов с телом запроса. Сам Swagger воспринял теперь мой "код описания" без каких-либо ошибок. Но при попытке ввода новых значений после нажатия кнопки "Tty it out", в области "Code", возвращает не успешный код 200, а следующую ошибку: TypeError: Failed to execute 'fetch' on 'Window': Failed to read the 'headers' property from 'RequestInit': String contains non ISO-8859-1 code point. Как думаете, как можно привести описание в соответствие с этим стандартом ISO? Как понять что именно в описании не соответствует этом стандарту?
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Интересный вопрос на самом деле. Смахивает на то, что где-то затесались спец символы, такие как " ", "\t" и тд. А можете уточнить, вы сначала создаете openapi спецификацию, затем в swagger ui нажимаете try it out? Или вы из кода автоматом по аннотациям получаете спецификацию?
@richug5205
@richug5205 Жыл бұрын
Интересно что "Метод предназначен для получения уведомления со статусом выполнения переданного ранее запроса." реализован через post, логичнее вроде как по restful через get. Можете уточнить почему так?
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Хорошее замечание. Действительно, немного неочевидно со стороны, это детали реализации моего сервиса. Процесс получение уведомления - это процесс, когда мой сервис получает уведомление от инициатора http запроса:) Соответственно приравнивается к созданию новой сущности, поэтому и был post. Но я соглашусь с вами, что с точки зрения api корректнее назвать метод создания уведомления.
@mondegor1819
@mondegor1819 Жыл бұрын
CorellationId -> CorrelationId
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Точно! Спасибо, что заметили)
@igork5095
@igork5095 5 ай бұрын
Тихая запись. можно и погромче )
@IT_like_bricks_building
@IT_like_bricks_building 5 ай бұрын
Понял, благодарю!
@Djabba_Hutt
@Djabba_Hutt 4 ай бұрын
6:48
@hiddeninfogofwar
@hiddeninfogofwar Жыл бұрын
методом get ни изменять, ни удалять нельзя не потому что "вас не поймут" 🤦🤦🤦
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Технически ничего же не мешает удалять по гет. Когда придет понимание этого, останутся "договоренности", а точнее правила, описанные в трудах мистера Roy Fielding
@hiddeninfogofwar
@hiddeninfogofwar Жыл бұрын
​​ @IT_like_bricks_building технически то да, но дело не в каких то там правилах. Правила вторичны, пишутся, исправляются и дополняются на основе чего-либо, это не первоисточник. Например, нельзя переходить дорогу на красный свет. Это значит нельзя переходить дорогу потому что есть такое правило, а потому что это опасно ) В данном случае, get нельзя использовать для внесения изменений на сервере просто потому что отрасль развивалась так, что всем плевать что там будет делать сервер, ведь декларировано что это запрос получения данных. Поэтому браузер или любая другая среда, например мессенджер или текстовый редактор, может сделать префеч в любой момент.
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Это отличный холиварный вопрос для собеседований. Главное не ответ можно или нельзя, а то почему человек так считает. Я с вами согласен, так как оба ответа правильны, если привести причины
@vadym.masiuk
@vadym.masiuk 3 ай бұрын
С одной стороны все верно - GET для получения, а с другой - не все клиенты поддерживают что-то больше чем GET и POST🤷‍♂️
@Zadr01
@Zadr01 3 ай бұрын
вы чо там у себя при создании сущности в ответ возвращаете 200 а не 201? лол кек чебурек
@Пумпурумм
@Пумпурумм 19 күн бұрын
И что?
Первый опыт в OpenAPI / Swagger - это PetStore проект
4:47
IT как Конструктор
Рет қаралды 19 М.
OpenAPI и Swagger Editor - своё описание REST API с нуля
16:35
IT как Конструктор
Рет қаралды 91 М.
Каха и лужа  #непосредственнокаха
00:15
Человек паук уже не тот
00:32
Miracle
Рет қаралды 4,3 МЛН
这是自救的好办法 #路飞#海贼王
00:43
路飞与唐舞桐
Рет қаралды 137 МЛН
Увеличили моцареллу для @Lorenzo.bagnati
00:48
Кушать Хочу
Рет қаралды 7 МЛН
Кратко про OpenAPI и Swagger
26:43
IT как Конструктор
Рет қаралды 58 М.
Проектирование API в терминах RESTful
38:08
SQA ANALYST TECHWRITER DAYS
Рет қаралды 9 М.
Основы и секреты Rest API
5:13
Хочу вАйти
Рет қаралды 6 М.
Django REST Framework - создаем API для сайта
21:17
Дед погроммист
Рет қаралды 19 М.
Каха и лужа  #непосредственнокаха
00:15