У меня проблема с тем, что один из маршрутов молча завершается с ошибкой 404.
app.ts
import * as express from 'express';
import * as rateLimit from 'express-rate-limit';
import * as helmet from 'helmet';
import * as xss from 'xss-clean';
import * as hpp from 'hpp';
import * as cors from 'cors';
import { router } from './routes/v1routes';
const app = express();
// Permite requisições de origens diferentes
app.use(cors());
// Seta cabeçalhos HTTP de segurança
app.use(helmet());
// Limita requisições para a mesma API
const limiter = rateLimit({
max: 150,
windowMs: 60 * 60 * 1000,
message: 'Muitas requisições para este IP, por favor, tente de novo em uma hora.'
});
app.use('/api', limiter);
// Saneamento de dados contra XSS (remove código HTML malicioso enviado pelo usuário)
app.use(xss());
// Previne poluição de parâmetros
app.use(hpp());
// Monta as rotas
app.get( "/api/v1", router);
export default app;
routs / v1routes.ts
import { Router } from 'express';
export const router = Router();
router.get("/", async (req, res, next) => {
res.status(200).json({
status: 'success',
data: {
user: 'Test',
req: {
path: req.path
}
}
});
});
В принципе, если я позвоню http://localhost:3001/api/v1/
, он вернет 404
Cannot GET /api/v1/
; использование http://localhost:3001/api/v1
также дает те же результаты.
Если, с другой стороны, я вместо этого переключаю маршрутизатор на прослушивание всего, то есть router.get("*", async (req, res, next) => {
, он работает.
Должен быть чем-то невероятно простым, что я не могу выбрать.