Пользовательские документы для перьев. js услуги с Swagger - PullRequest
0 голосов
/ 06 апреля 2020

Я настроил Swagger в своем приложении Feather. js, и оно автоматически генерирует документы для всех конечных точек для каждого сервиса. Теперь некоторые конечные точки в некоторых сервисах, которые я хочу исключить из генерации в качестве документов, потому что я просто запрещаю эти конечные точки или у меня есть скрытые логики c за ними, которые не позволяют external звонки.

Fe У меня есть следующие настройки для конечных точек моего /users/me сервиса:

before: {
    all: [authenticate('jwt')],
    find: [
      /*
       * We don't use an ID when calling `/users/me` like `/users/me/<id>`, and therefore Feathers understands the
       * incoming request as a `find` method instead of `get`, therefore we simply redirect it internally.
       */
      async context => {
        context.result = await context.service.get(context.params.user.id); // eslint-disable-line
        return context;
      }
    ],
    get: [
      iff(isProvider('external'), disallow()),
      includeGender()
    ],
    create: [disallow()],
    update: [setAuthenticatedUserId()],
    patch: [setAuthenticatedUserId()],
    remove: [setAuthenticatedUserId()]
  }

Как вы можете видеть из настроек logi c, я хочу, чтобы генерировались следующие документы: enter image description here

Я следовал этим документам относительно feathers-swagger. Я использую schemasGenerator(service, model, modelName, schemas) для создания документов для каждого сервиса. Понятно, что это будет генерировать одну и ту же схему документов для каждого сервиса. Я попытался добавить пользовательский материал согласно объяснениям модуля github, либо добавив объект docs:

 service.docs = {
            ...service.docs,
            operations: {
              find: false,
              create: false
            }
          };

или добавив глобальный объект operations: { find: false, create: false } в конфигурацию Swagger.

Первый вариант не имеет эффекта, а второй - применяет его ко всем конечным точкам, что мне не помогает.

...