3.1 KiB
3.1 KiB
id | title | localeTitle | challengeType |
---|---|---|---|
587d7fb2367417b2b2512bf7 | Use body-parser to Parse POST Requests | Use o analisador de corpo para analisar solicitações de POST | 2 |
Description
POST /path/subpath HTTP/1.0Como você pode ver, o corpo é codificado como a string de consulta. Este é o formato padrão usado pelos formulários HTML. Com o Ajax, também podemos usar JSON para manipular dados com uma estrutura mais complexa. Há também outro tipo de codificação: multipart / form-data. Este é usado para fazer upload de arquivos binários. Neste exercício, usaremos um corpo com codificação de URL. Para analisar os dados provenientes de solicitações POST, você precisa instalar um pacote: o analisador de corpo. Este pacote permite que você use uma série de middleware, que pode decodificar dados em diferentes formatos. Veja os documentos aqui . Instale o módulo body-parser no seu package.json. Em seguida, solicite-o no topo do arquivo. Armazene-o em uma variável chamada bodyParser. O middleware para manipular dados codificados em URL é retornado por
From: john@example.com
User-Agent: someBrowser/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 20
name=John+Doe&age=25
bodyParser.urlencoded({extended: false})
. extended=false
é uma opção de configuração que diz ao analisador para usar a codificação clássica. Ao usá-lo, os valores podem ser apenas strings ou matrizes. A versão estendida permite mais flexibilidade de dados, mas é superada pelo JSON. Passe para app.use()
a função retornada pela chamada do método anterior. Como de costume, o middleware deve ser montado antes de todas as rotas que precisam dele.
Instructions
Tests
tests:
- text: O middleware 'body-parser' deve ser montado
testString: 'getUserInput => $.get(getUserInput(''url'') + ''/_api/add-body-parser'').then(data => { assert.isAbove(data.mountedAt, 0, ''"body-parser" is not mounted correctly'') }, xhr => { throw new Error(xhr.responseText); })'
Challenge Seed
Solution
// solution required