2017-05-02 22 views
0

Webプロジェクトの場合、バックエンドサーバー(go)とフロントエンド(aurela-cli + typescript)の両方に使用するswagger(open api)APIを作成したい)。swagger typescript-fetch apiをaurelia-cli tyepscriptプロジェクトに組み込む

swagger-codegenツールは、次のクライアントジェネレータをサポートしてい
- typescriptです-角度
- typescriptです-angular2
- typescriptです-ノード
- 今

をtypescriptですフェッチ、最初の3つは明らかには適用されません。この問題は、私がtypescript-fetchのままになっているためです。私は以下を使用swagger.ymlからクライアントを生成するには:swagger repositoryに見られるよう
swagger-codegen generate -i swagger.yml -l typescript-fetch -o api

これは、プロジェクトフォルダになります。

質問はこれをaureliaプロジェクトに含める方法です。

私はすでにnpm installを実行しています。これは、蒸散されたapi.js(および対応するapi.d.ts)になりました。しかし、私は次に進む方法がわかりません。

1)このフォルダはどこに置く必要がありますか? node-modules/<fake-module-name>
- -
- src/api
どこか

2)どのように私はaurelia.jsonファイルの 'モジュール' についてアウレリアに伝えるのですか?
- "<fake-module-name>"
- "{ "name": "<fake-module-name>", "path": "../node_modules/<fake-module-name>dist", "main": "api" }
- 他の何か

私は当たっています主な問題は、aurelia.jsonは、モジュール内のAPIについて知っているにもかかわらず、このモジュール内の依存関係は、ビルドプロセスをもたらす、ということである(au run --watch)彼らは何とかフロントエンドのsrcディレクトリ内で探していると、停止する。

これを解決する方法上の任意のヘルプは高く評価されるだろう。私が持っている

PSを私が「単純に」APIモジュールの依存関係やその依存関係をaurelia.jsonにインポートする必要があるというわずかな気持ちが...

+0

クライアントサイドのcodegenではなくNswagを使用してみましたか?特定のAureliaフェッチクライアントの実装があるので、私はそれを言及しています。 swagger.jsonファイルを使用するには、.NETバックエンドを使用する必要はありません。 https://github.com/NSwag/NSwag –

+0

はい、私は既にnswagを調べました(それを言いました..)。私たちはWindowsで作業していないので、私たちのビルドプロセスにそれを導入するのがとても心地よいとは思っていませんでしたし、開発者としてはMonoや.NETコンソールライブラリが必要でした。 – Nikola

答えて

0

アウレリアは、クライアントを取得するために私は活字体・クライアントを生成するために、他の活字体の発電機のいずれかを変更:

https://github.com/jeremeevans/typescript-aurelia-fetch-client-generator

マイドキュメントは今かなりひどいがあるが、基本的な手順は次のとおりです。

  1. クローン闊歩codegenの:gitのクローン威張っ-codegenをディレクトリへhttps://github.com/swagger-api/swagger-codegen.git
  2. 移動し、構築/それをインストールします。 typescriptです-aurelia-にhttps://github.com/jeremeevans/typescript-aurelia-fetch-client-generator.git
  3. 移動をGitのクローン:
  4. MVN
  5. があなたのgitディレクトリに戻り、typescriptです-アウレリアフェッチ・クライアント・ジェネレータのクローンを作成し、インストール
    • MVNきれいなパッケージディレクトリ・クライアント・ジェネレータのフェッチとそれを構築:
      • MVNパッケージ
    • java -cp '../typescript-aurelia-fetch-client-generator/target/typescript-aurelia-fetch-client-swagger-codegen-1.0.0.jar;./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar' io.swagger.codegen.Codegen -i http://localhost:8080/swagger/docs/v4 -l typescript-aurelia-fetch-client -o c:\temp\OutputFolder -c C:\temp\yourconfig.json 
      

      を明らかにしてhttp://localhost:8080/swagger/docs/v4を置き換える:闊歩codegenのディレクトリに移動して実行し、その後、あなたの活字体のクライアントを構築するために

      { 
          "packageName": "MyLibraryName", 
          "modelPropertyNaming": "original" // if you want to keep your casing on the models. 
      } 
      

      を:

その後、あなたのライブラリーのための設定ファイルを作成しますSwaggerの定義へのパス。

これが役に立った場合は、リポジトリにスターを付けてください。また、寄付も大歓迎です。

関連する問題