Маршрутизатор Node Express и маршрут машинописи для пут не работают должным образом - PullRequest
0 голосов
/ 21 октября 2018

Новичок с узлом и экспрессом, я застрял в странной проблеме с экспресс-маршрутизацией.

В файле роутера я определяю некоторые маршруты (упрощенно для цели):

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

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