Написал простой сервис на ноде и запустил с помощью докера (как в инструкции), все вроде работает, но когда зашел в постмен, то не получилось достучатся до сервиса. Как правильно делать запрос на такие сервера?
Получаю такой результат:
Все ли я правильно сделал и какой путь надо вводить в postman? Заранее спасибо
dockerfile
FROM node:8
WORKDIR /srv
ADD . .
RUN npm install
EXPOSE 3000
CMD ["node", "server.js"]
rule.json
{
"ListenerArn": "placeholder",
"Conditions": [
{
"Field": "path-pattern",
"Values": [
"/api/tasks*"
]
}
],
"Priority": 3,
"Actions": [
{
"Type": "forward",
"TargetGroupArn": "placeholder"
}
]
}
server.js
const Koa = require('koa');
const Router = require('koa-router');
const db = require('./db.json');
const app = new Koa();
const router = new Router();
// logger
app.use(async (ctx, next) => {
await next();
const rt = ctx.response.get('X-Response-Time');
console.log(`${ctx.method} ${ctx.url} - ${rt}`);
});
// x-response-time
app.use(async (ctx, next) => {
const start = Date.now();
await next();
const ms = Date.now() - start;
ctx.set('X-Response-Time', `${ms}ms`);
});
router.get('/api/tasks/by-forester/:foresterId', async (ctx, next) => {
const id = parseInt(this.params.foresterId);
ctx.body = db.posts.filter((task) => task.forester == id);
await next();
});
router.get('/api/tasks/by-supervisor/:supervisorId', async (ctx, next) => {
const id = parseInt(this.params.supervisorId);
ctx.body = db.posts.filter((task) => task.supervisor == id);
await next();
});
router.get('/api/', async (ctx, next) => {
ctx.body = "API ready to receive requests";
await next();
});
router.get('/', async (ctx, next) => {
ctx.body = "Ready to receive requests";
await next();
});
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(3000, () => {
console.log("Server work on port 3000");
});