Entender URLs e rotas

Concluído

Um aplicativo tem uma variedade de dados que gerencia, como produtos ou pedidos. Como desenvolvedor da Tailwind Traders, organize suas APIs em seções para o tipo de dados. O uso de seções ajudar você a manter e estender o aplicativo.

Um modo de estender um aplicativo Web com facilidade é garantir que os dados sejam acessíveis por meio de URLs dedicadas. Duas URLs diferentes disparam duas partes diferentes do código no aplicativo Web.

https://tailwindtraders.com/products
https://tailwindtraders.com/orders

Esta unidade descreve o que é uma URL para criar uma API.

Caminho da URL

Uma URL é um endereço que um usuário insere em um cliente, como um navegador, para localizar um servidor específico e uma funcionalidade específica. Saber como a URL funciona ajuda você a organizar o aplicativo com base nisso.

Esta é uma URL típica: http://localhost:8000/products/1?page=1&pageSize=20

A URL segue uma sintaxe que tem a seguinte aparência:

scheme:[//authority]path[?query][#fragment]

Vamos explicar as partes da URL de exemplo: https://tailwindtraders.com/products/1?page=1&pageSize=20#sort=asc.

Componente de URL Exemplo Descrição
Esquema https O protocolo usado, como http, https, ftp, irc ou file.
Autoridade tailwindtraders.com Consiste em informações opcionais do usuário e um host, que geralmente é um nome de domínio.
Caminho /products/1 Zero a muitos segmentos separados por uma barra (/), especificando os recursos nos quais você está interessado.
Consulta page=1&pageSize=20 Parte opcional definida após o caractere ?, consistindo em pares de parâmetro/valor para filtrar ainda mais os dados.
Fragmento sort=asc Ajuda você a ser ainda mais específico, como classificar os dados em uma determinada ordem.

Cada rota pode ter ações como criar, ler, atualizar e excluir (conhecido como CRUD). A ação é indicada pelo método de rota e combinada com informações adicionais enviadas nos cabeçalhos HTTP e no corpo.

Manipuladores HTTP

O Express é uma estrutura da Web que ajuda você a criar APIs HTTP. Use-o para criar rotas que manipulam as solicitações HTTP.

Aqui está um exemplo de código que manipula as solicitações HTTP para a URL /products/114:

app.get('/products/:id', (req, res) => {
  // handle this request `req.params.id`
})

O formato do manipulador é app.<method>(<route>, <callback>). A solicitação da rota /products/114 com o método GET executa o código na função que tem acesso à solicitação de entrada (req) e retorna a resposta (res).

Esse código pode ser reescrito para facilitar a leitura:

const routeHandler = (incomingRequest, outgoingResponse) => {
  // handle this request
}

app.get('/products/:id', routeHandler)

Em seu trabalho na Tailwind Traders, talvez seja necessário trabalhar em aplicativos Express com qualquer um dos estilos de código.

Dados de entrada

Os dados podem ser enviados para a API de várias maneiras:

Dados Localidade Explicação
Parâmetro da rota /products/:id, em que :id é o parâmetro Os parâmetros de rota fazem parte da URL. Eles são usados para identificar um recurso específico. O comprimento dos dados é limitado ao comprimento permitido da URL, portanto, normalmente é curto, como uma ID ou um nome. Uma rota pode ter vários parâmetros.
Parâmetro de consulta /products?page=1&pageSize=20, em que ?page=1&pageSize=20 é o parâmetro Os parâmetros de consulta fazem parte da URL. Eles são usados para filtrar dados. O comprimento dos dados é limitado ao comprimento permitido da URL, portanto, normalmente é curto, como uma ID ou um nome. Uma rota pode ter vários parâmetros de consulta.
Corpo da solicitação POST /products O corpo da solicitação faz parte da solicitação HTTP. Ele é usado para enviar dados para a API. O comprimento dos dados não está limitado ao comprimento permitido da URL, portanto, pode ser longo. O cabeçalho HTTP indica à API o tipo de dados, como texto, JSON ou binário.

Os dados de entrada geralmente correspondem aos seguintes métodos com base na finalidade da ação:

Ação Método Dados
Criar POST Corpo da solicitação
Ler GET Parâmetros de rota e consulta
Atualizar PUT Corpo da solicitação
Excluir DELETE Parâmetros de rota e consulta

Dica

A primeira letra de cada método significa CRUD. Esses termos são usados no setor para descrever os quatro tipos básicos de operações que podem ser executadas em dados.

Exemplo de parâmetro de rota com req.params

Suponha que a URL da solicitação seja /products/20. A rota do Express para manipular essa solicitação é:

app.get('/products/:id', (req, res) => {
    const id = req.params.id

    // get product that matches id from database
})

Exemplo de cadeia de caracteres de consulta com req.query

Suponha que a URL da solicitação seja /products?page=1&pageSize=20. A rota do Express para manipular essa solicitação é:

app.get('/products', (req, res) => {
    const page = req.query.page
    const pageSize = req.query.pageSize

    // get next page of products from database
})

Exemplo do corpo da solicitação com req.body

Suponha que a URL da solicitação seja /products e o corpo da solicitação seja { "name": "Product 1" }. A rota do Express para manipular essa solicitação é:

app.post('/products', (req, res) => {
    const name = req.body.name

    // add new product to database
})