GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
19.6K subscribers
2.1K photos
75 videos
207 files
1.2K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart

РКН №5013005196
Download Telegram
Продолжим работу с проектом PorscheLab. Давайте разберем, как сделать дизайн одного REST API метода: создать заявку на обслуживание автомобиля в автосервисе.

1️⃣ Первое, с чем определяемся - кто клиенты метода. Заявки будут создавать как незарегистрированные пользователи, так и менеджеры.

У незарегистрированных пользователей я пока предполагаю максимально упрощенную форму заявки. Причина в том, что заявку на сайте важно собрать быстро, не напрягая пользователя. А при ее подтверждении менеджер уточнит всю информацию, точные данные про автомобиль и другие детали, которые могут понадобиться.

А вот если заявку создает менеджер, то он сразу максимально старается собрать информацию про автомобиль.

Поэтому, чтобы было интересно, проектируем метод создания заявки для менеджера. Он будет использоваться для веб-приложения менеждера в CRM Автосервиса.

P.S. Хотела сразу подмешать в этот метод возможность через него же создавать заявку со стороны сайта, но потом осознала боли, с которыми столкнусь:
- Придется добавить ролевую модель на этот метод API, и возможно придется на отдельные поля писать логику с ограничениями. Это усложнение. Придерживаемся принципа - проще = лучше.
- При обсуждении БД мы увидели два варианта реализации. Заявка от пользователя может быть сущностью "Черновик", на основании которой потом создается сущность "Заявка" со структурированной информацией.
Так что смешивать не будем.


2️⃣ Пермиссии - права доступа

Благодаря пункту 1 и объяснению, почему не стоит делать один метод для сайта и для приложения менеджера, определились, что он будет доступен только менеджеру. И администратору системы.

А еще надо поговорить с заказчиком и уточнить, кто еще сможет создавать заявки со структурированными данными и откуда, из каких приложений.

Итого, метод доступен

для приложений:
+ веб-приложения менеджера (CRM).

для пользователей:
+ менеджер,
+ администратор.

Это требования работе авторизации для метода. Указание приложений важно, если будем авторизовывать по протоколу OAuth 2.0.

Продолжение скоро🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
3️⃣ Делаем дизайн: тип метода и URL

Создать = POST
Заявка = request = order (мне больше нравится order - заказ)
А в базе данных у нас вообще appointment. Это ок. Хороший пример для маппинга и напоминания, что лучше использовать единый язык, и делать названия объектов и полей в БД и в API единообразно.

Сайт, который уже есть у автосервиса:
porschelab.com
Для CRM возьмем домен
crm.porschelab.com

Создавать заявки можно только в онлайн. Поэтому никакие идентификаторы и дополнительные параметры в URL не добавляем.

Версия API - 1.0

Получаем:
POST
https://crm.porschelab.com/api/1.0/order
Метод создания заявки на обслуживание автомобиля.



4️⃣ Делаем дизайн: JSON для запроса

Для создания заявки нам надо получить информацию о клиенте и автомобиле, о времени и сервисе(-ах), на который записывается клиент.

Структуру JSON вижу так:

{
ID заявки,
Номер заявки,
Дата и время записи,
Клиент (с его параметрами),
Авто (с его параметрами),
Список сервисов, которые выбрал клиент
}



Теперь этот текстовый вид преобразую по шагам в реальный JSON, используя тестовые данные для его демонстрации:

{
"id": "176ca88d-caf3-4db2-b27b-70442f6ac75e",
"number": 1234,
"time": "2023-08-01T12:00Z03",
"client":
{
"id": "f93a566e-f2e2-4623-9f81-59d23d1695f1",
"firstname": "John",
"lastname": "Smith",
"birthday": "1990-08-14",
...
},
"auto": {...}
...
}


Почему зачеркнула id и number? Ответы в комментарии 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥21
Классный инструмент для проверки JSON:
https://jsoneditoronline.org - валидатор JSON.
Проверяет соответствие формату.

Берете созданный нами JSON для метода создания заявки менеджером и подставляете для проверки:

{
"time": "2023-08-01T12:00Z03",
"client":
{
"firstname": "John",
"lastname": "Smith",
"birthday": "1990-08-14",
"email": "
john10109090@gmail.com"
},
"autoId": "f93a566e-f2e2-4623-9f81-59d23d1695f1",
"services":
[
"4875c6fb-7119-4f15-84c3-3c06ea8f9b46", "e3572bb6-d4dd-4bfd-b965-800bf84cf70c"
]
}


Обратили внимание, что использовала "autoId"? Почему?
Ответы в комментарии 😉

Все просто, если разобраться и узнать как можно больше и особенностей на практике. Например, завтра на мастер-классе ‼️

А пока можете попробовать описать JSON для ответа на наш метод 😉 Да-да, они будут разные. И мы всегда проектируем для методов JSON-структуру запроса и JSON-ы ответов.
🔥51
Поймай волну вечера 🏄

REST API за вечер: от концепции до Postman
Уже сегодня в 19:00 по Мск!

РЕГИСТРАЦИЯ НА МАСТЕР-КЛАСС

Привет! Надеюсь, ты уже поставил напоминание? Мы поставили 😉

🕘 За 3 часа - ссылка на вебинарную комнату в почту
🕘 За 15 минут - напоминание во всех каналах и соцсетх GetAnalyst

Как и всегда - это не просто еще один вебинар или лекция. Это шанс поймать волну новых знаний на практике. Идем с серфом в океан и пробуем, пока не встанем на доску уверенно 🙌

Сегодня будем работать с инструментом Postman. Создадим документацию и примеры ответов для фронтенд-разработчиков. Зарегистрируйтесь заранее.

Прокачаете резюме ключевыми словами: REST API, JSON, Postman. И всё это в уютной домашней обстановке, за чашечкой любимого напитка. Можно будет задать мне вопросы в прямом и обсудить вопросы 🚀

Делай шаг, чтобы стать более ценным специалистом для твоей компаниии. Магия начинается уже сейчас 🪄🔮
11👍2
Уже через 3 часа! Мастер-класс Екатерины Ананьевой!

📹 REST API за вечер: от концепции до Postman
19:00 - 21:00 Мск

Ссылку на трансляцию пришлем в канал за 15 минут до начала.
6
Спасибо за крутой эфир! Сегодня коллекцией Postman делились все участники мастер-класса!

Разобрали REST с нуля и сделали API-документацию с примерами разных запросов и ответов⚡️

Для Новосибирска повтор завтра в 15:00 по Мск ❤️

Регистрация на повтор, если уже регистрировались на основное мероприятие, не нужна.

Ссылка на 27 июля в 15:00 Мск -> здесь 😏
13👍6🔥4
Вчера в прямом эфире мы сделали Postman-документацию - описали три метода для управления данными об автомобиле.

Дополнила ее информацией и примерами по всем методам, доделала небольшие описания к документации и... Получилось 😍

И это всего лишь три метода и первое знакомство с тем, что из себя представляет полноценная постановка задачи на бэкенд!

А что если взять, и сделать полный проект:
✔️ 10+ методов
✔️ Документация Confluence
✔️ Документация Postman с тестами
✔️ Документация Swagger
✔️ Настроенная авторизация Token / OAuth 2.0
Звучит внушительно. И это реально сделать всего за 2 месяца!

1 АВГУСТА начинается предобучение на практическом курсе для системных и бизнес-аналитиков:

🌟 Дизайн REST API

9 живых вебинаров до 1 октября. В таком формате обучения больше не будет! Это возможность получить максимум живой практики сейчас и уже к Новому году открыть новые карьерные возможности 🤝

Вы с нуля, от БД до документации, пройдете путь аналитика по работе с REST API. По итогам у вас будут личные проекты, которые можно использовать для портфолио ⚡️ Смотрите какие результаты у вас уже после мастер-класса!

Есть цель идти вперед в системном анализе? Встречаемся на практике по REST API в августе! 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2
⚡️ Начинаем через 15 мин ⚡️

📹 REST API за вечер: от концепции до Postman
Подключайтесь по ссылке: https://pruffme.com/webinar/?id=6d3216bb459b3d4f864904e818ed46fc

Новосибирск, Казахстан, Бали и не только - подключаемся ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
Гайд из 5 шагов по созданию API-документации в Postman

Зарегистрируйся и войди в Postman: https://www.postman.com/


1. Создай пространство workspace.

2. Создай первую коллекцию в нем.

3. Опиши первый метод и сохрани в этой коллекции. Можно описать больше.

Пример:

POST https://porschelab.com/api/v1/car

{
"producer": "Tesla",
"model": "Y",
"licensePlate": "GETANALYST-CA",
"vin": "JN1WNYD21U0000001",
"color": "pink",
"year": 2023,
"ownerIds": ["777abc91-e949-469a-9528-1d88dee33caa", "388abc91-e949-469a-9528-1d88dee33c65"]
}


4. Добавь примеры ответов через Add Examples.


Пример для 201-ОК:

{
"id": "65db1a9d-6919-4e93-a535-7250bd8d18d9",
"producer": "Tesla",
"model": "Y",
"licensePlate": "GETANALYST-CA",
"vin": "JN1WNYD21U0000001",
"color": "pink",
"year": 2023,
"owners": [
{
"id": "388abc91-e949-469a-9528-1d88dee33c65",
"lastName": "Ivanov",
"firstName": "Ivan",
"patronymic": null,
"birthday": "2000-12-19",
"phone": "123456789",
"phoneCode": "+1"
},
{
"id": "777abc91-e949-469a-9528-1d88dee33caa",
"lastName": "Ivanova",
"firstName": "Lena",
"patronymic": null,
"birthday": "2000-01-20",
"phone": "9998887766",
"phoneCode": "+1"
}
]
}



5. Переходи к просмотру - в режим документации. Это можно сделать на вкладке с обзором коллекции.

Получилось:
https://documenter.getpostman.com/view/20545501/2s946pYoPN

Хочешь инструкцию с картинками? Ставь ❤️ и она появится 🙃
79
Media is too big
VIEW IN TELEGRAM
Готовим подкаст на YouTube. Не могу не поделиться отрывком с процесса записи.

В нем важная информация для тех, кто сейчас меняет работу и ходит по собеседованиям 👀
🔥18❤‍🔥21😱1
Postman API-Documentation - GetAnalyst.pdf
2.3 MB
Гайд из 5 шагов по созданию API-документации в Postman
с картинками 🖼👨‍🎨

Так понятнее!
👍22🔥91👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Уверенность всегда на первом месте. Но ее вечно мало 😔
К сожалению, она никогда не возникает и не растет сама по себе. Её нужно развивать.

Можно пробовать устроиться на работу, пройдя курс по подготовке к собеседованиям, и "петь песни" работодателю: "Да, я это умею, и это тоже, я вообще крутой специалист" (про себя размышляя: если что, научусь в процессе). Но мы не в школе. И эта история с неумением всплывет на испытательном сроке, который может завершиться не так, как хочется.

Если ты:
🎯 уверен в себе и своих знаниях,
🎯 регулярно развиваешь профессиональные навыки через обучение,
🎯 умеешь последовательно, на примере задачи, рассказать о своих навыках работодателю,
то найти крутой проект, попросить повышение, или просто вести митинги с разработчиками становится так легко! Другие ощущения от общения! Представляешь?


Всегда важно подкреплять знания релевантным опытом. Дальше ловкость коммуникаций и никакого мошенничества: рассказ про реальную ПРАКТИКУ = УВЕРЕННОСТЬ. И я росла через нее.

По себе знаю, сколько бы ни было книг, лекций, ощущение уверенности не появится от знания теории. Потом сталкиваешься с реальной задачей, где нет универсальных решений, и нужно держать в голове множество мелких деталей, о которых ты даже не знаешь, и про которые автор в книге забыл написать. И страх - вот он, и ничего не выходит 😞

В системном анализе тяжело менять проекты - разные предметные области, процессы, услоия работы. Боишься, что не сможешь быстро адаптироваться, долго въезжаешь. Не понимаешь, как ставить задачи на разработчиков. Не хватает опыта переключения между проектами, структуры в знаниях, чтобы их можно было применить ко всему.

Чтобы разобраться, как все реально работает, все понять, нужны действия. И да, это не так просто как посмотреть видео. Но именно так с каждым разом прокачивается опыт и появляется уверенность.

Уверенность -это преимущество. Она как игра в карты с козырями. Это внутреннее ощущение позволяет легко принимать решения, быстро и эффективно решать задачи 🙌
17🔥3👍2
⚡️ Вебинарная комната на повтор мастер-класса⚡️

📹 REST API за вечер: от концепции до Postman
Подключайтесь по ссылке: https://pruffme.com/webinar/?id=6d3216bb459b3d4f864904e818ed46fc

СЕГОДНЯ, ВСК:
30 июля, 15:00 Мск
30 июля, 19:00 Мск
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Я хочу поделиться с вами приятным моментом ❤️

В пятницу у меня была финальная консультация в мини-группе - две девушки из наставничества по REST API апрельского потока. Я получила удовольствие от 2+ часов практики с ними!

Мы разбирали индивидуальные проекты. Я смотрела на внушительные файлы: API-документация, Swagger и Postman коллекции, созданные на ее основе. Я искренне восхощалась!

Все замечания с предыдущего разбора были исправлены, появились дополнительные вопросы к проработке, которые мы вместе решили.

Проделана большая работа по проекту, которую можно смело демонстрировать работодателям и рассказывать, как проходил этот проект! 💼

Не смотря на серьезность встречи, она прошла весело. Мы много смеялись, когда находили очевидные ошибки. Я просила их решать сложные задачи. Мы дополнительно рисовали экранные формы и смотрели, как сделать дизайн тела JSON для асинхронного метода. Опять ворчала на ошибки и думаю, что теперь они точно все по ним запомнили! И про xml в REST тоже!

В конце встречи был диалог:
- Какие результаты по итогам обучения? Удается ли использовать новые навыки в работе?
- Да. Моей целью на обучение было начать делать более технические постановки задач. И сейчас даже разработчики сказали, что я стала делать их лучше, детальнее, с большим пониманием темы. А еще я нашла ошибки в работе нашего API на проекте! ....

Это же круто?! Когда даже разработчики заметили эффект от освоения нового профессионального навыка!

Иискренне радуюсь за вас! Спасибо за мою пятницу ❤️
👍86🔥5
URI vs URL - что это и в чем отличия? 🧐

Возможно, вы уже встречали слова URI, URL и URN? Знаете, что это "ссылка в интернете", "ссылка метода в REST API" или "эндпоинт в REST API", но разница не очень понятна.

Давайте разберемся 👀


URL - это просто адреса в интернете, по которым можно получить доступ к разным информационным объектам, таким как веб-страницы или файлы. Мы часто видим их в адресной строке браузера или в ссылках, когда переходим по страницам сайтов.

Примеры URL (адресов):

URL веб-страницы: https://www.getanalyst.ru/about
Это URL, который вы вводите в браузере, чтобы перейти на страницу "О нас" на веб-сайте с доменом "
www.getanalyst.ru".

URL изображения:
https://www.example.com/images/picture.jpg
Это URL, который указывает на конкретное изображение с именем "picture.jpg" на веб-сайте "
www.example.com".



URI - это еще более общий термин, который может представлять различные типы идентификаторов ресурсов в интернете.


Примеры URI (идентификаторов ресурсов):

Почтовый адрес электронной почты: user@example.com
Это URI, который идентифицирует электронный адрес "
user@example.com".

ISBN (Международный стандартный книжный номер) книги: ISBN 978-3-16-148410-0
Это URI, который идентифицирует уникальный номер книги "ISBN 978-3-16-148410-0".

Социальный профиль в Twitter:
https://twitter.com/example_user
Это URI, который идентифицирует профиль пользователя "example_user" на платформе Twitter.



🌟 URL - это просто один из видов URI, который указывает на местоположение конкретного ресурса.


URI является более общим термином и включает в себя URL как один из своих подтипов. В контексте REST API, клиенты используют URL в запросах для обращения к различным ресурсам и выполнения операций с помощью уникальных адресов в интернете.
👍25🤩5
⚡️ Что должен содержать URL в REST API? ⚡️

URL или эндпоинт REST API играет важную роль, так как он определяет метод (ресурс / объект данных), к которому выполняется запрос.

Рекомендации на примере, которые стоит сохранить и использовать. Разберем URL метода получения информации об автомобиле для нашего автосервиса PorscheLab.

------------------------
GET htttps://www.PorscheLab.com/api/public/v1/auto/{autoId}
------------------------

🗝 GET - тип метода.
Это не часть URL. В идеале он должен забирать на себя глагол действия по CRUD-модели. Создать авто (тип метода POST), изменить данные об авто (тип метода PATCH) и другие.

🗝 htttps - протокол.
Обычно это "http" или "https", которые определяют способ передачи данных между клиентом и сервером. "https" обеспечивает защищенное соединение с помощью шифрования.

🗝 www.PorscheLab.com - доменное имя (или IP-адрес).
Это адрес сервера, на котором размещается REST API. Например, "api.example.com" или "192.168.1.100".

🗝 /api - путь к ресурсу, имя каталога на сервере.
Представьте, что отсюда начинается путь к папке в компьютере. api указывает, что мы обращаемся к методам АПИ на сервере. Этот указатель в пуи полезен, когда на этом же адресе также работает и сайт системы.
Рекомендовано указывать, но не обязательно.

🗝 /public - путь к ресурсу, имя папки с группой API или сервиса на сервере.
Это имя сервиса или группы методов API. Нпример, в примере я указала, что буду работать с public - методами публичного API в системе. А можно также работать с методами приватного API, либо обращаться к API платженого микросервиса в системе /billing-service.
Рекомендовано указывать, но не обязательно.


Продолжение скоро 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍7
🗝 /v1 - путь к ресурсу, версия API.
Версия API. Может быть указана в виде /1.0, /v1.0 и других возможных. Цифра версии обновляется кажый раз при выпуске изменений в API, которые меняют структуру ответа,
Настроятельно рекомендуется указывать, чтобы не сломать взаимодействующих с API клиентов при внесении в API обратно несовместимых изменений.

🗝 /auto/{autoId} - путь к ресурсу, конкретный эндпоинт.
Это часть URL, которая определяет конкретный ресурс (объект данных) или метод API, с которым клиент хочет взаимодействовать. Например, /users, /auto или /product/123.
Название объекта рекомендуется указывать в единственном числе auto, но можно и во множественном autos. Зависит от проекта и принятых внутри компании правил 😄



А еще в структуру URL встраивают иерархию:
GET htttps://www.PorscheLab.com/api/public/v1/auto/{autoId}/owner - владельцы авто.

Глаголы действия:
PATCH htttps://www.PorscheLab.com/api/public/v1/auto/{autoId}/archive - архивировать запись.


Все особенности формирования URL можно осознать и запомнить только после самостоятельной работы с проектированием REST API и постановкой задач на Backend. А пока пересылайте себе в избранное и коллегам сообщение выше, чтобы не потерять ❤️
🔥12👍1👎1
Хочу поделиться с вами историей о девушке-юристе. Она всю жизнь занималась юриспруденцией, и никогда не думала, что когда-то окажется перед камерой.

Руководство попросило ее начать снимать ролики для видеоблога компании, где она должна была давать советы по юридическим вопросам.

‼️ Казалось бы, ведь она каждый день общалась с клиентами и давала им советы, но для ведения блога оказались нужны совсем другие навыки.

Первый съемочный день наступил, девушку загримировали, посадили перед камерой, свет горел ярко — и началось! Но ее голос дрожал, а лицо покрылось красными пятнами из-за стресса. Съемку пришлось приостановить, и вместо нее ролики записывал другой юрист.

Прошло несколько дней, и руководство решило дать ей еще один шанс. Но в этот раз все пошло еще хуже — она даже потеряла сознание прямо в кадре! Не представляете, что она пережила: запинки, покрасневшее лицо, пот и страх перед камерой. Каждый раз съемка была сложной, ей приходилось множество раз гримироваться и делать дубли.

Но, знаете, чудо произошло! С каждой новой попыткой она становилась все увереннее. Она не сдавалась, а продолжала пробовать, пока наконец не начала уверенно блистать в кадре! Один оператор, который работал с ней, заметил, как она стала уверенней и естественней в кадре. Записей стало меньше, запинок не было — она просто привыкла! 🏄

История этой девушки вдохновляет. Она показывает, что нам всем в начале трудно. Мы испытываем страх перед новыми вызовами и неудачи. Но именно опыт и настойчивость помогают нам преодолеть все трудности.

В работе аналитиков мне это напоминает прохождение собеседований, знакомство с новыми проектами, выход на новую работу, освоение новых навыков. И именно практика и неотступность перед целями позволяют нам дойти до результатов 🌟

Так что если перед вами стоит что-то новое, не бойтесь и не сдавайтесь. Действуйте, проходите через испытания, учитесь на своих ошибках и привыкайте к новым задачам — только так вы станете увереннее и достигнете успеха в карьере.

Верьте в себя и смело идите к своим целям! 🚀
🔥13👍4
Боль с кодами ошибок HTTP для REST API 🥲

Проектирование REST API - это не просто о создании запросов. Это о разработке целостной системы, включая варианты ответов на запросы. Нужно включать аналитическое мышление и прорабатывать варианты ответов на запрос: не только успех, но и возможные ошибки.

🌟 Разработка требований к обработке ошибок в REST API оказалась по опыту одной из самых важных и нужных тем к освоению.

Работа аналитика заключается в этом - продумать, какие могут быть возможные варианты работы системы. Он должен учитывать все возможные сценарии, включая альтернативные

Это не тестеровщики задают требования к обработке ошибок. Это наша аналитическая работа – тщательно продумать алгоритмы и подготовить требования к обработке ошибок, по которым они будут тестировать Backend через Postman.

Познакомимся с основными кодами ответов HTTP? 😏🔥

P.S. Самый нужный в картинке к посту.
Коллеги, у нас 418-ая!
😄
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍3👎1
Media is too big
VIEW IN TELEGRAM
📹 Нашла это трогательное видео про поддержку и помощь в субботу. И оно в очередной раз напомнило: "делай добро - оно вернется, обязательно" ❤️

Бывают связанные с работой ситуации, когда нужна помощь и ты тратишь много времени, чтобы быстро что-то изучить или найти информацию.
Например, выход из РФ зарубежных компаний и массовое перераспределение кадров. Кому-то сейчас запрещают работать за пределами страны, а хочется путешествовать.
Такие ситуации мотивируют резко расти, чтобы сменить работу. Бывает, что вынужденно, не по собственному желанию, а в условиях "бей или беги", из страха.

Давайте помнить, что важно помогать друг-другу ❤️ GetAnalyst изначально про обмен опытом. Это наше сообщество системных аналитиков, в котором мы поддерживаем друг-друга в карьерном росте.

У нас есть начинающие свой путь в IT, опытные системные аналитики, бизнес-аналитики и не только. Бывает сложно в пути, когда нужна помощь или поддержка, совет. Не стесняйтесь задавать свои вопросы в комментариях под постами или в нашем чате 🌟

Мы по жизни стремимся помогать друг-другу, не только в работе. Это естественное желание. Да и добро возвращается добром.

Помогайте коллегам в аналитике, кто стремится к росту. Даже небольшими советами. Это ценно. Не думайте, что создаете конкурентов. Вы создаете помощников! Вы оцените это, когда дорастете до ведущих или руководящих позиций 🙌

Делай добро - оно вернется, обязательно 🪄
15👏2👍1
‼️ Статусы HTTP для ответов на запросы REST API ‼️
которые должен знать каждый системный аналитик и разработчик

HTTP-200: "ОК".
Успешное выполнение запроса. Используется преимущественно для GET, PUT, PATCH.

HTTP-201: "Создано".
Обычно возвращается для POST и PUT после успешного создания нового ресурса - записи данных в таблицу БД.

HTTP-400: "Плохой запрос".

Запрос не может быть обработан из-за неверного синтаксиса - формата запроса. Ошибка на стороне клиента. Например, в номере счета содержится буква или длина фамилии в запросе больше 128 символов, а ожидалось до 128.
Может сопровождаться красивым текстом сообщением, которое можно показать пользователю.

HTTP-401: "Неавторизован".
Запрос требует аутентификации пользователя, то есть выполняется приложением или пользователем без авторизации (логина+пароля или ключа доступа в виде токена).

HTTP-403: "Запрещено".
Сервер понял запрос, но он отказывается его выполнять. Как правило это связано с тем, что пользователь авторизован, но доступ запрещен - настройка прав доступа к API.

HTTP-404: "Не найдено".
Сервер не может найти запрашиваемый ресурс - данные в БД не найдены.

HTTP-500: "Внутренняя ошибка сервера".
Возникает, когда сервер столкнулся с ситуацией, которую он не знает как обработать. Ошибка в работе алгоритма.
Может сопровождаться красивым текстом сообщением, которое можно показать пользователю.

HTTP-503: "Сервис недоступен".
Сервер временно не может обрабатывать запросы по техническим причинам.


⚠️ Помните, что для каждого из этих кодов можно предусмотреть несколько вариантов сообщений в зависимости от конкретных условий или ошибок. Это важно учитывать при проектировании REST API и анализе поведения системы.

И ответ на самый распространенный вопрос:
если обработку ошибок не заложить в требования, то сама она автоматически не появится. Увы 😄

Уже сегодня у нас с группой по REST API начинается предобучение. А на следующей неделе пройдет первый практический вебинар, на котором мы вместе начнем проект с нуля и проведем его от требований+БД до создания всех рабочих методов API на заглушках в Postman и Swagger-документации 🗝

Рада видеть всех, кто присоединился к проекту 🚀 Спасибо вам за доверие! В начале сентября будем подробно разбирать эту часть на практике 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
👍167👎2