Новичок с узлом и экспрессом, я застрял в странной проблеме с экспресс-маршрутизацией.
В файле роутера я определяю некоторые маршруты (упрощенно для цели):
import { Router, Request, Response, NextFunction } from "express";
import { AccountController } from './../controllers/account-controller';
const accountController: AccountController = new AccountController();
export class AccountRouter {
public router: Router;
/**
* Instanciation du contrôleur pour les comptes
*/
constructor() {
this.router = Router();
this._init();
}
private _init(): void {
// Requête de contrôle d'existence
.get(
'/:username',
this._check
)
// Ajout d'un compte
.post(
'/',
this._add
)
// Mise à jour d'un compte
.put(
'/:mongoId',
this._update
)
}
/**
* Check for a user
* @param request
* @param response
* @param next
*/
private _check(request: Request, response: Response, next: NextFunction) {
accountController.check(request, response, next);
}
/**
* add an account
* @param request
* @param response
* @param next
*/
private _add(request: Request, response: Response, next: NextFunction) {
accountController.add(request, response, next);
}
private _update(request: Request, response: Response, next: NextFunction)
{
accountController.update(request, response, next);
}
}
const accountRoutes = new AccountRouter();
export default accountRoutes.router;
Первые маршруты работают должным образом, проверьте их с помощью Почтальона, но ... маршрут для пут возвращает ошибку 404 http ...
Когда я пытаюсь дотронуться до маршрута пут от клиента, сначала выберите опцию сa 204, затем 404 для самого пута.
Метод update () определен в модели ...
В app.ts (запись в приложении ...):
// Routes pour la gestion des comptes
AccountRouter.use(cors(corsOptions));
this.app.use('/api/v2/account', AccountRouter);
И параметры cors:
const corsOptions: cors.CorsOptions = {
allowedHeaders: ["Origin", "X-Requested-With", "Content-Type", "Accept", "X-Access-Token"],
credentials: true,
methods: "GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE",
origin: '*',
preflightContinue: false
}
Я не могу понять, почему этот конкретный маршрут возвращает 404, когда другие работают как положено.
Thx 4 help