Ошибка документа Openapi: «Не удалось найти операцию»

#node.js #swagger #openapi

#node.js #развязность #openapi

Вопрос:

У меня есть пример конечной точки open api, которая выглядит следующим образом

 /delivery/{deliveryId}/courierStatus/arrivedForDelivery:
    post:
        x-exegesis-controller: CourierStatus
        summary: Marks a delivery has arrived to the delivery or drop off location
        operationId: arrivedForDelivery
        parameters:
            - name: deliveryId
              in: path
              required: true
              style: simple
              explode: false
              schema:
                  type: string
            - name: origin
              in: query
              description: origin
              schema:
                  type: string
        requestBody:
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            lpDeliveryId:
                                type: string
                            dispatchPlatformName:
                                type: string
                            organizationId:
                                type: string
        responses:
            200:
                description: Success. The delivery is marked as arrived to drop off location
            404:
                description: Delivery could not be found
            default:
                description: Unexpected error
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/Error"
 

и когда я пытаюсь запустить приложение, я получаю сообщение об ошибке

 "message": "Could not find operation CourierStatus#arrivedForDelivery defined in /paths/~1delivery~1{deliveryId}~1courierStatus~1arrivedForDelivery/post/requestBody/content/application~1json",
      "stack":
          Error: Could not find operation CourierStatus#arrivedForDelivery defined in /paths/~1delivery~1{deliveryId}~1courierStatus~1arrivedForDelivery/post/requestBody/content/application~1json
              at validateController (/home/dev/onerail-push-api/node_modules/exegesis/src/oas3/Operation.ts:62:19)
              at validateControllers (/home/dev/onerail-push-api/node_modules/exegesis/src/oas3/Operation.ts:85:13)
              at new Operation (/home/dev/onerail-push-api/node_modules/exegesis/src/oas3/Operation.ts:151:9)
              at /home/dev/onerail-push-api/node_modules/exegesis/src/oas3/Path.ts:39:34
              at Array.reduce (<anonymous>)
              at new Path (/home/dev/onerail-push-api/node_modules/exegesis/src/oas3/Path.ts:38:14)
              at new Paths (/home/dev/onerail-push-api/node_modules/exegesis/src/oas3/Paths/index.ts:23:32)
              at new OpenApi (/home/dev/onerail-push-api/node_modules/exegesis/src/oas3/OpenApi.ts:57:23)
              at Object.<anonymous> (/home/dev/onerail-push-api/node_modules/exegesis/src/oas3/index.ts:18:12)
              at Generator.next (<anonymous>)
    }
 

Я использую exegesis в качестве контроллера, и я совершенно новичок в документах swagger, и мне было интересно, может ли кто-нибудь хотя бы указать мне, о чем говорит ошибка

Комментарии:

1.Есть ли у вас CourierStatus.js файл контроллера, содержащий arrivedForDelivery функцию и расположенный в src/controllers папке (или где находится ваша папка controllers)?