freeCodeCamp/curriculum/challenges/spanish/05-apis-and-microservices/basic-node-and-express/get-query-parameter-input-f...

2.7 KiB

id title localeTitle challengeType
587d7fb2367417b2b2512bf6 Get Query Parameter Input from the Client Obtener entrada de parámetros de consulta del cliente 2

Description

Otra forma común de obtener información del cliente es codificando los datos después de la ruta, utilizando una cadena de consulta. La cadena de consulta está delimitada por un signo de interrogación (?) E incluye parejas field = value. Cada pareja está separada por un signo (&). Express puede analizar los datos de la cadena de consulta y rellenar el objeto req.query . Algunos caracteres no pueden estar en las URL, tienen que estar codificados en un formato diferente antes de poder enviarlos. Si usa la API desde JavaScript, puede usar métodos específicos para codificar / decodificar estos caracteres.
route_path: '/library'
actual_request_URL: '/library?userId=546&bookId=6754'
req.query: {userId: '546', bookId: '6754'}
Construir un punto final de API, montado en GET /name . Responda con un documento JSON, tomando la estructura { name: 'firstname lastname'} . Los parámetros de nombre y apellido deben estar codificados en una cadena de consulta, por ejemplo, ?first=firstname&last=lastname . CONSEJO: En el siguiente ejercicio vamos a recibir datos de una solicitud POST, en la misma ruta de ruta /name . Si lo desea, puede utilizar el método app.route(path).get(handler).post(handler) . Esta sintaxis le permite encadenar diferentes controladores de verbos en la misma ruta de ruta. Puede guardar un poco de escritura y tener un código más limpio.

Instructions

Tests

tests:
  - text: 'Prueba 1: su punto final de API debe responder con el nombre correcto'
    testString: 'getUserInput => $.get(getUserInput(''url'') + ''/name?first=Mick&last=Jagger'').then(data => { assert.equal(data.name, ''Mick Jagger'', ''Test 1: "GET /name" route does not behave as expected'') }, xhr => { throw new Error(xhr.responseText); })'
  - text: 'Prueba 2: su punto final APi debe responder con el nombre correcto'
    testString: 'getUserInput => $.get(getUserInput(''url'') + ''/name?last=Richards&first=Keith'').then(data => { assert.equal(data.name, ''Keith Richards'', ''Test 2: "GET /name" route does not behave as expected'') }, xhr => { throw new Error(xhr.responseText); })'

Challenge Seed

Solution

// solution required