Как сделать так, чтобы этот код извлекал JSON из URL-адреса вместо его включения в сценарий - PullRequest
0 голосов
/ 20 марта 2019

Я хочу, чтобы JSON, который вы видите в приведенном ниже скрипте, был извлечен из API вместо того, чтобы находиться в самом скрипте. Я не могу понять это для моей жизни. Я довольно новичок в TypeScript, поэтому прости меня, если я звучу как нуб :))

export class FaqFakeDb
{ 
    public static data = [
        {
            "id": "1",
            "question": "test1",
            "answer": "test1"
        },
        {
            "id": "2",
            "question": "test2",
            "answer": "test2"
        },
        {
            "id": "3",
            "question": "test3",
            "answer": "test3"
        }
    ]
}

Я перепробовал все и не могу заставить его работать. Любая помощь мне бы очень понравилась.

p.s. Любой, кто хочет ответить, не могли бы вы включить мой код или дать полный сценарий, потому что я еще не слишком знаком со структурой Typescript, спасибо.

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Вы можете очень быстро кодировать API, используя Express . Вот быстрый и простой способ установить тот, который будет обслуживать ваши данные:

  1. Перейдите к /where/you/want/your/server/to/be (выберите каталог, в котором будет размещен проект NPM)
  2. Инициировать проект NPM: npm init -y
  3. Установить экспресс: npm install express
  4. В ./data.json вставьте свои данные ([{"id": "1", "question":...)
  5. В server.js кодируйте сервер, который будет обслуживать ваши данные по HTTP:
    const express = require('express');

    // create an express server
    const app = express();

    // serves the 'data.json' at the path '/data'
    app.get('/data', (req, res) => {
      res.sendFile(`${__dirname}/data.json`);
    });

    // launches the server on localhost, port 8080
    app.listen(8080, () => {
      console.log('Server listening on http://localhost:8080');
    })

И это все! Вы можете перейти в браузер по номеру localhost:8080/data, и вы увидите, что ваши данные возвращаются. Кроме того, вы можете программно получать данные, используя JavaScript:

fetch('http://localhost:8080/data')
  .then(resp => resp.json()) // parse the JSON data
  .then(data => console.log('received data:', data)); // logs the data
0 голосов
/ 20 марта 2019

Вам потребуется настроить сервер с маршрутом, который затем будет обслуживать этот JSON в ответ на запрос GET.

Если вы хотите попрактиковаться, я рекомендую использовать общедоступные API, которые уже содержат «поддельные» данные.

www.swapi.co - один из примеров возврата данных, относящихся к StarWars.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...