AULA 19 MÓDULO 1 fundamentos web ⏱ 45 min

URL, Rota e Endpoint

Anatomia de uma URL. Diferença entre rota e endpoint. Boas práticas de URLs REST com recursos e parâmetros.

URLrotaendpointpathquery stringRESTExpress

Anatomia de uma URL

URL significa Uniform Resource Locator — endereço único de um recurso na web. Cada parte tem um papel específico.

https://api.example.com/users/42/orders?status=pending&page=2#section
scheme
protocolo: http, https
host
domínio ou IP
path
recurso e ID
query string
filtros e paginação
fragment
âncora na página

Rota vs Endpoint

Termos que parecem sinônimos, mas têm nuances diferentes em arquitetura web.

URL
O endereço completo de um recurso, incluindo protocolo e host.
https://api.example.com/users/42
Rota
O padrão do caminho que o servidor reconhece. Pode ter parâmetros dinâmicos.
/users/:id /orders/:orderId/items
Endpoint
A combinação de método HTTP + rota. Define uma operação específica.
GET /users/:id | POST /users | DELETE /users/:id

Boas práticas de URLs REST

URLs em APIs REST devem representar recursos (substantivos), não ações (verbos). O verbo HTTP define a ação.

regra
❌ ruim
✓ bom
GET
/getUser/42
/users/42
POST
/createUser
/users
DELETE
/deleteUser/42
/users/42
GET
/getUserOrders/42
/users/42/orders
javascript
// Express — definindo rotas com parâmetros e query strings
const express = require('express')
const app = express()

// Rota com parâmetro dinâmico (:id)
app.get('/users/:id', (req, res) => {
  const { id } = req.params  // /users/42 → id = "42"
  res.json({ userId: id })
})

// Rota com query string (?status=pending)
app.get('/orders', (req, res) => {
  const { status, page = 1 } = req.query
  // /orders?status=pending&page=2
  res.json({ status, page: Number(page) })
})

// Recurso aninhado: pedidos de um usuário
app.get('/users/:userId/orders', (req, res) => {
  const { userId } = req.params
  res.json({ userId, orders: [] })
})
quiz · aula 19
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
Qual é a diferença entre rota e endpoint?
QUESTÃO 02
Na URL https://api.ex.com/users?page=2, o que é 'page=2'?
QUESTÃO 03
Qual é a URL REST correta para buscar pedidos do usuário 42?
0/3