스킬 api-design
🔌

api-design

안전 🌐 네트워크 접근⚙️ 외부 명령어🔑 환경 변수

Проектирование REST API с лучшими практиками

또한 다음에서 사용할 수 있습니다: supercent-io

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

지원: Claude Codex Code(CC)
📊 69 적절함
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"api-design" 사용 중입니다. Design a REST endpoint to create and retrieve orders

예상 결과:

  • POST /orders - Создать новый заказ (возвращает 201 Created с заголовком Location)
  • GET /orders?status=pending&sort=-createdAt - Список заказов с фильтрацией и сортировкой
  • GET /orders/{id} - Получить конкретный заказ (возвращает 404 если не найден)
  • Все ответы используют формат обертки с полями 'data' и 'meta'

"api-design" 사용 중입니다. How should I structure error responses for validation failures?

예상 결과:

  • Используйте 400 Bad Request с кодом ошибки VALIDATION_ERROR
  • Включите массив details с сообщениями для конкретных полей
  • Пример: { error: { code: 'VALIDATION_ERROR', message: 'Invalid input', details: [{ field: 'email', message: 'Must be valid email' }] } }

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
21
커뮤니티
100
보안
83
사양 준수

만들 수 있는 것

Проектирование новых REST API

Применяйте лучшие практики при проектировании новых REST-endpoints для обеспечения согласованности и удобства использования.

Проверка существующих API

Проверяйте текущие дизайны API на соответствие отраслевым стандартам и выявляйте области для улучшения.

Создание руководств по стилю API

Устанавливайте командные соглашения для именования URL, форматов ответов и обработки ошибок.

이 프롬프트를 사용해 보세요

Проектирование нового эндпоинта
Спроектируйте REST эндпоинт для управления пользователями. Включите структуру URL, HTTP-метод, формат тела запроса, формат ответа и подходящие коды статуса.
Обработка ошибок
Какой правильный способ структурировать ответы об ошибках в REST API? Покажите примеры для ошибок валидации, ошибок аутентификации и сценариев 'не найдено'.
Пагинация коллекций
Спроектируйте REST API для пагинированных коллекций. Покажите оба подхода к пагинации: на основе смещения и на основе курсора с примерами запросов и ответов.
Версионирование API
Какие лучшие практики для версионирования API? Сравните версионирование через путь URL и версионирование через заголовки. Когда следует использовать каждый подход?

모범 사례

  • Используйте множественное число для URL ресурсов (например, /users, а не /user)
  • Применяйте HTTP-методы правильно: GET для чтения, POST для создания, PUT для замены, PATCH для частичного обновления, DELETE для удаления
  • Структурируйте ответы последовательно с форматом обертки, включая метаданные для коллекций

피하기

  • Избегайте глаголов в URL (например, /getUsers, /createOrder) - HTTP-метод передает действие
  • Не используйте несогласованные соглашения об именовании, такие как смешивание snake_case и camelCase в одном API
  • Избегайте глубокой вложенности более двух уровней - выравнивайте иерархии ресурсов, когда это возможно

자주 묻는 질문

Какие HTTP-коды статуса следует использовать для ошибок?
Используйте коды 4xx для ошибок клиента (400 bad request, 401 unauthorized, 403 forbidden, 404 not found, 409 conflict) и коды 5xx для ошибок сервера.
В чем разница между PUT и PATCH?
PUT заменяет весь ресурс, в то время как PATCH выполняет частичное обновление. PUT идемпотент и ожидает полное представление ресурса.
Следует ли использовать пагинацию на основе смещения или курсора?
Используйте пагинацию на основе курсора для больших наборов данных и данных в реальном времени. Используйте пагинацию на основе смещения для более простых реализаций с предсказуемыми размерами наборов данных.
Как обрабатывать аутентификацию API?
Предпочитайте Bearer токены в заголовке Authorization для большинства случаев. Используйте API-ключи в заголовке X-API-Key, а не в параметрах запроса для лучшей безопасности.
Поддерживает ли этот навык GraphQL или gRPC?
Нет, этот навык сосредоточен исключительно на принципах проектирования REST API. GraphQL и gRPC имеют свои собственные паттерны и соглашения проектирования.
Как предотвратить критические изменения в моем API?
Версионируйте ваш API с самого начала. Используйте версионирование через путь URL (например, /v1/users) для крупных изменений. Поддерживайте обратную совместимость в рамках каждой версии.

개발자 세부 정보

작성자

Benny9193

라이선스

MIT

참조

master

파일 구조

📄 SKILL.md