技能 api-design
🔌

api-design

安全 🌐 網路存取⚙️ 外部命令🔑 環境變數

Concevoir des API REST avec les meilleures pratiques

也可從以下取得: supercent-io

Les API souffrent souvent d'une incohérence dans les noms, d'une mauvaise structure d'URL et d'une utilisation incorrecte des méthodes HTTP. Cette compétence fournit des directives claires pour concevoir des API intuitives, évolutives et faciles à maintenir.

支援: Claude Codex Code(CC)
📊 69 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「api-design」。 Design a REST endpoint to create and retrieve orders

預期結果:

  • POST /orders - Create a new order (returns 201 Created with Location header)
  • GET /orders?status=pending&sort=-createdAt - List orders with filtering and sorting
  • GET /orders/{id} - Retrieve a specific order (returns 404 if not found)
  • All responses use envelope format with 'data' and 'meta' fields

正在使用「api-design」。 How should I structure error responses for validation failures?

預期結果:

  • Use 400 Bad Request with error code VALIDATION_ERROR
  • Include details array with field-specific messages
  • Example: { error: { code: 'VALIDATION_ERROR', message: 'Invalid input', details: [{ field: 'email', message: 'Must be valid email' }] } }

品質評分

38
架構
100
可維護性
87
內容
21
社群
100
安全
83
規範符合性

你能建構什麼

Concevoir de nouvelles API REST

Appliquer les meilleures pratiques lors de la conception de nouveaux points de terminaison REST pour garantir la cohérence et la facilité d'utilisation.

Réviser les API existantes

Valider les conceptions d'API actuelles par rapport aux normes de l'industrie et identifier les domaines d'amélioration.

Créer des guides de style d'API

Établir des conventions d'équipe pour les noms d'URL, les formats de réponse et la gestion des erreurs.

試試這些提示

Conception d'un nouveau point de terminaison
Concevez un point de terminaison REST pour la gestion des utilisateurs. Incluez la structure d'URL, la méthode HTTP, le format du corps de requête, le format de réponse et les codes d'état appropriés.
Gestion des erreurs
Quelle est la bonne façon de structurer les réponses d'erreur dans une API REST ? Montrez des exemples pour les erreurs de validation, les échecs d'authentification et les scénarios non trouvés.
Pagination des collections
Concevez une API REST pour les collections paginées. Montrez les approches de pagination basée sur le décalage et basée sur le curseur avec des exemples de requête et de réponse.
Versionnage d'API
Quelles sont les meilleures pratiques pour le versionnage d'API ? Comparez le versionnage par chemin d'URL et le versionnage basé sur les en-têtes. Quand chaque approche devrait-elle être utilisée ?

最佳實務

  • Utilisez des substantifs pluriels pour les URL de ressources (par exemple, /users et non /user)
  • Appliquez correctement les méthodes HTTP : GET pour les lectures, POST pour les créations, PUT pour les remplacements, PATCH pour les mises à jour partielles, DELETE pour les suppressions
  • Structurez les réponses de manière cohérente avec un format d'en-tête incluant des métadonnées pour les collections

避免

  • Évitez les verbes dans les URL (par exemple, /getUsers, /createOrder) - la méthode HTTP transmet l'action
  • N'utilisez pas de conventions de nommage incohérentes comme melanger snake_case et camelCase dans la même API
  • Évitez l'imbrication profonde au-delà de deux niveaux - aplanissez les hiérarchies de ressources lorsque possible

常見問題

Quels codes d'état HTTP dois-je utiliser pour les erreurs ?
Utilisez les codes 4xx pour les erreurs client (400 mauvaise requête, 401 non autorisé, 403 interdit, 404 non trouvé, 409 conflit) et les codes 5xx pour les erreurs serveur.
Quelle est la différence entre PUT et PATCH ?
PUT remplace une ressource entière tandis que PATCH effectue une mise à jour partielle. PUT est idempotent et attend une représentation complète de la ressource.
Dois-je utiliser la pagination par décalage ou par curseur ?
Utilisez la pagination basée sur le curseur pour les grands ensembles de données et les données en temps réel. Utilisez la pagination basée sur le décalage pour des implémentations plus simples avec des tailles d'ensemble de données prévisibles.
Comment dois-je gérer l'authentification de l'API ?
Préférez les jetons Bearer dans l'en-tête Authorization pour la plupart des cas. Utilisez les clés API dans l'en-tête X-API-Key plutôt que dans les paramètres de requête pour une meilleure sécurité.
Cette compétence prend-elle en charge GraphQL ou gRPC ?
Non, cette compétence se concentre exclusivement sur les principes de conception d'API REST. GraphQL et gRPC ont leurs propres patrons de conception et conventions.
Comment puis-je éviter les changements de rupture dans mon API ?
Versionnez votre API dès le début. Utilisez le versionnage par chemin d'URL (par exemple, /v1/users) pour les changements majeurs. Maintenez la rétrocompatibilité dans chaque version.

開發者詳情

檔案結構

📄 SKILL.md