Cześć wszystkim,

Słuchajcie, korzystam ze swagger-node-runner w mojej aplikacji expressowej.
Do tego mam plik konfiguracyjny swagger.yaml:

Kopiuj
  /pets/{petId}
    x-swagger-router-controller: pets
    parameters:
    - name: "petId"
      in: "path"

    post:
      tags:
      - "Pets"
      summary: "Create a new Pet"
      description: ""
      operationId: "createPet"

W moim controlerze mam zdefiniowaną funkcję

Kopiuj
export const createPet = async (req, res) => { 
   doSomething....
}

i elegancko do niej wchodzę, przy robieniu posta.

Problem w tym, że zanim wywołam controller (createPet) chciałbym uruchomić jakąś funkcje middleware która umożliwi mi zwalidowanie requesta i w zależności od tego czy jest on okej, wchodzić do controllera. Zależy mi na tym ponieważ chciałbym użyć jej w przyszłości do createPet, updatePet i deletePet.

Potrafiłbym coś takiego robić w app.ts, jednak chciałbym podać taką funkcję middleware bezpośrednio do controllera.

Wie ktoś z was jak to ogarnąć?