Receber por email
← Voltar para o catálogo

rest-patterns

Quick reference for RESTful API design patterns, HTTP semantics, caching, and rate limiting. Triggers on: rest api, http methods, status codes, api design, endpoint design, api versioning, rate limiting, caching headers.

367estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add aiskillstore/marketplace

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/rest-patterns/svg)](https://www.skillteca.com.br/skills/rest-patterns)

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

REST Patterns

Quick reference for RESTful API design patterns and HTTP semantics.

HTTP Methods

| Method | Purpose | Idempotent | Cacheable | |--------|---------|------------|-----------| | GET | Retrieve resource(s) | Yes | Yes | | POST | Create new resource | No | No | | PUT | Replace entire resource | Yes | No | | PATCH | Partial update | Maybe | No | | DELETE | Remove resource | Yes | No |

Essential Status Codes

| Code | Name | Use | |------|------|-----| | 200 | OK | Success with body | | 201 | Created | POST success (add Location header) | | 204 | No Content | Success, no body | | 400 | Bad Request | Invalid syntax | | 401 | Unauthorized | Not authenticated | | 403 | Forbidden | Not authorized | | 404 | Not Found | Resource doesn't exist | | 422 | Unprocessable | Validation error | | 429 | Too Many Requests | Rate limited | | 500 | Server Error | Internal failure |

Resource Design

GET    /users              # List
POST   /users              # Create
GET    /users/{id}         # Get one
PUT    /users/{id}         # Replace
PATCH  /users/{id}         # Update
DELETE /users/{id}         # Delete

# Query parameters
GET /users?page=2&limit=20          # Pagination
GET /users?sort=created_at:desc     # Sorting
GET /users?role=admin               # Filtering

Security Checklist

  • [ ] HTTPS/TLS only
  • [ ] OAuth 2.0 or JWT for auth
  • [ ] Validate all inputs
  • [ ] Rate limit per client
  • [ ] CORS headers configured
  • [ ] No sensitive data in URLs
  • [ ] Use no-store for sensitive responses

Common Mistakes

| Mistake | Fix | |---------|-----| | Verbs in URLs | /getUsers → /users | | Deep nesting | Flatten or use query params | | 200 for errors | Use proper 4xx/5xx | | No pagination | Always paginate collections | | Missing rate limits | Protect against abuse |

Quick Reference

| Task | Pattern | |------|---------| | Paginate | ?page=2&limit=20 | | Sort | ?sort=field:asc | | Filter | ?status=active | | Sparse fields | ?fields=id,name | | Include related | ?include=orders |

When to Use

  • Designing new API endpoints
  • Choosing HTTP methods and status codes
  • Implementing caching headers
  • Setting up rate limiting
  • Structuring error responses

Additional Resources

For detailed patterns, load:

  • ./references/status-codes.md - Complete status code reference with examples
  • ./references/caching-patterns.md - Cache-Control, ETag, CDN patterns
  • ./references/rate-limiting.md - Rate limiting strategies and headers
  • ./references/response-formats.md - Errors, versioning, bulk ops, HATEOAS
Compartilhar X LinkedIn