freeCodeCamp/curriculum/challenges/portuguese/05-apis-and-microservices/basic-node-and-express/get-data-from-post-requests...

2.6 KiB

id title localeTitle challengeType
587d7fb2367417b2b2512bf8 Get Data from POST Requests Obter dados de solicitações de POST 2

Description

Monte um manipulador POST no caminho /name . É o mesmo caminho de antes. Nós preparamos um formulário no frontpage html. Ele enviará os mesmos dados do exercício 10 (string de consulta). Se o analisador de corpo estiver configurado corretamente, você deverá encontrar os parâmetros no objeto req.body . Dê uma olhada no exemplo usual de biblioteca:
route: POST '/library'
urlencoded_body: userId=546&bookId=6754
req.body: {userId: '546', bookId: '6754'}
Responda com o mesmo objeto JSON de antes: {name: 'firstname lastname'} . Teste se seu endpoint funciona usando o formulário html fornecido na página principal do aplicativo. Dica: Existem vários outros métodos de HTTP além de GET e POST. E por convenção existe uma correspondência entre o verbo http e a operação que você vai executar no servidor. O mapeamento convencional é: POST (às vezes PUT) - Cria um novo recurso usando as informações enviadas com o pedido, GET - Lê um recurso existente sem modificá-lo, PUT ou PATCH (às vezes POST) - Atualiza um recurso usando os dados enviado, DELETE => Excluir um recurso. Existem também alguns outros métodos que são usados para negociar uma conexão com o servidor. Exceto pelo GET, todos os outros métodos listados acima podem ter uma carga útil (ou seja, os dados no corpo da solicitação). O middleware do analisador de corpo também funciona com esses métodos.

Instructions

Tests

tests:
  - text: 'Teste 1: o endpoint da sua API deve responder com o nome correto'
    testString: 'getUserInput => $.post(getUserInput(''url'') + ''/name'', {first: ''Mick'', last: ''Jagger''}).then(data => { assert.equal(data.name, ''Mick Jagger'', ''Test 1: "POST /name" route does not behave as expected'') }, xhr => { throw new Error(xhr.responseText); })'
  - text: 'Teste 2: seu endpoint da API deve responder com o nome correto'
    testString: 'getUserInput => $.post(getUserInput(''url'') + ''/name'', {first: ''Keith'', last: ''Richards''}).then(data => { assert.equal(data.name, ''Keith Richards'', ''Test 2: "POST /name" route does not behave as expected'') }, xhr => { throw new Error(xhr.responseText); })'

Challenge Seed

Solution

// solution required