Files
freeCodeCamp/curriculum/challenges/russian/05-apis-and-microservices/basic-node-and-express/serve-json-on-a-specific-route.russian.md

3.7 KiB
Raw Blame History

id, title, challengeType, forumTopicId, localeTitle
id title challengeType forumTopicId localeTitle
587d7fb1367417b2b2512bf1 Serve JSON on a Specific Route 2 301517 Служить JSON по определенному маршруту

Description

Пока сервер HTML обслуживает (как вы уже догадались!) HTML, API обслуживает данные. API REST (REpresentational State Transfer) позволяет осуществлять простой обмен данными без необходимости для клиентов знать какие-либо подробности о сервере. Клиенту нужно только знать, где находится ресурс (URL) и какое действие он хочет с ним выполнить (глагол). Глагол GET используется, когда вы извлекаете некоторую информацию, ничего не изменяя. В наши дни предпочтительным форматом данных для перемещения информации по сети является JSON. Проще говоря, JSON - это удобный способ представления объекта JavaScript в виде строки, чтобы его можно было легко передавать. Давайте создадим простой API, создав маршрут, который отвечает JSON по пути /json . Вы можете сделать это, как обычно, с помощью app.get() . Внутри обработчика маршрута используйте метод res.json() , передавая объект в качестве аргумента. Этот метод закрывает цикл запрос-ответ, возвращая данные. За кулисами он преобразует действительный объект JavaScript в строку, затем устанавливает соответствующие заголовки, чтобы сообщить браузеру, что вы обслуживаете JSON, и отправляет данные обратно. Допустимый объект имеет обычную структуру {key: data} . Данные могут содержать число, строку, вложенный объект или массив. Данные также могут быть переменной или результатом вызова функции; в этом случае он будет оценен перед преобразованием в строку. Подайте объект {"message": "Hello json"} как ответ в формате JSON на запросы GET к маршруту /json . Затем укажите ваш браузер на ваш-app-url / json, вы должны увидеть сообщение на экране.

Instructions

Serve the object {"message": "Hello json"} as a response, in JSON format, to GET requests to the /json route. Then point your browser to your-app-url/json, you should see the message on the screen.

Tests

tests:
  - text: 'The endpoint <code>/json</code> should serve the json object <code>{"message": "Hello json"}</code>'
    testString: getUserInput => $.get(getUserInput('url') + '/json').then(data => { assert.equal(data.message, 'Hello json', 'The \'/json\' endpoint does not serve the right data'); }, xhr => { throw new Error(xhr.responseText); })