Тестирование маршрутов Node Express API через удаленный http-клиент - PullRequest
0 голосов
/ 16 мая 2018

У меня следующая ситуация: узел с экспресс-запуском на моей локальной машине и удаленный linux-box в частном адресном пространстве моей сети.

Вот пример компактного index.js с использованием nodejs & express:

const express = require('express');
const app = express();

app.get('/', (req,res) => {
    res.send('RESTful Demo..');
});

app.get('/api/read', (req,res) => {
    console.log('test 123..');
    res.send([1, 2, 3]);
});

// Array to simulate some db-entries
const jsObject = [
    { pk: 1, value: 'data1'},
    { pk: 2, value: 'data2'},
    { pk: 3, value: 'data3'}
];

app.get('/api/read/:pk', (req,res) => {
    var pk = req.params.pk;
    console.log(pk);
    let myMatchedObject = jsObject.find(c => c.pk === parseInt(req.params.pk));
    if (!myMatchedObject) res.status(404).send('The given Primaray Key was not found..'); // 404
    res.send(myMatchedObject);
});

// PORT envar
const port = process.env.PORT || 3000;
// Listening-process
app.listen(port, () => console.log(`Listening on Port ${port}..`));

Я успешно попробовал его через браузер локально и удаленно, но я попытался свернуться с удаленного Linux-бокса в моем личном адресном пространстве моей сети, но я не смог вызвать API.

Я пытался (с включением прокси-туннелей) curl -o test.txt -p http://192.168.1.152:3000/api/read безуспешно ..

Затем я попробовал несколько успешных тестов API jsonplaceholder с curl https://jsonplaceholder.typicode.com/users

Имея это в виду, я клонировал репозиторий и попробовал его на своей локальной машине - снова без ответа от curl.

Какую фундаментальную мысль я упускаю?

1 Ответ

0 голосов
/ 16 мая 2018

Из-за наших сетевых ограничений я не смог свернуться внутри нашего личного адресного пространства ..

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