Какой SDK клиента OpenAPI для loopback4 и angular?

В настоящее время мы переводим loopback3 приложение на loopback4. Миграция сервера идет быстро, но миграция angular клиента кажется проблемой из-за «sdk».

Для loopback3 мы использовали @ mean-expert / loopback-sdk-builder, чтобы сгенерируйте клиентский SDK для angular6+. Похоже, что этот проект пережил конец жизненного цикла и несовместим с loopback4.

Генерация sdk для loopback3 работала для нас таким образом:

package.json сервера:

"scripts": {
    "gen-sdk": "node ./node_modules/@mean-expert/loopback-sdk-builder/bin/lb-sdk src/server.js ../frontend/src/app/shared/sdk --wipe=enabled"
}

Генератор запускает копию сервера, считывает различные внутренние метаданные и записывает сгенерированные файлы в клиентский проект - насколько я могу судить, он не использует swagger.json, предоставленный loopback3.

Мы ищем альтернативный SDK для использования с loopback4. Бэкэнд предоставляет openapi.json для описания конечных точек.

Какой SDK вы используете в своих angular проектах (в идеале написанных на TypeScript)? Есть ли SDK, код которого в основном совместим с @mean-expert/loopback-sdk-builder?

На данный момент я нашел и протестировал следующие проекты для создания клиента openapi:

  • openapi-generator
    • con: is written in Java
    • con: все время выдает исключения NullpointerExceptions (возможно, наш openapi.json неверен, но этот генератор не выдает полезных сообщений об ошибках)
  • ng-openapi-gen
    • pro: is written in TypeScript
    • против: имена сгенерированных операций действительно устаревшие, может быть, только в сочетании с loopback4?
    • против: проект не очень активен

С какой angular настройкой вы предлагаете поговорить с loopback4 сервером отдыха?


person derdeka    schedule 11.09.2019    source источник


Ответы (1)


Проект Loopback 4 решает эту проблему в своей документации по Создание углового Приложение из спецификации OpenAPI

Краткое описание шагов:

  1. В своем проекте Loopback 4 сгенерируйте openapi-spec из ваших контроллеров с помощью команды npm run openapi-spec для создания файла OpenAPI JSON.
  2. В вашем приложении Angular используйте пакет ng-openapi-gen для создания заглушек Angular API из файла OpenAPI JSON на предыдущем шаге. Например:

ng-openapi-gen --input <path-to-openapi-json> --output <angular-app-path>/src/app/api

Содержимое каталога <angular-app-path>/src/app/api содержит модели для использования API в Angular. См. Их документацию для полного примера.

person jbratu    schedule 15.06.2021