2016-03-07 15 views
7

私はTypeSciptで書かれたプロジェクトの一部であり、Swaggerと互換性のあるTypeScript Web Serverを追加しようとしています。
メンテナンス性を考慮して、実装するための最も基本的な戦略は何ですか?TypeScriptでSwagger Webサービスを作成する適切な方法

  • Typescriptについては、TypeScriptインターフェイスからJSONモデルを生成するためのTypsonライブラリがあります。

  • Swaggerについては、JSAモデルの追加をサポートしているので、swagger-node-restifyライブラリを使ってみました。

はしかし、私はいくつかの問題が発生した:Typsonインポートの活字体構文をサポートしていません

  1. - 私は「威張っノード-restifyを実装しようとした (import {Server} from "restify"
  2. を'例(Pet Example)では、localhost:8080/api-docs.json GET RequestのRESPONSEにAPIのすべてのSPECデータがありません。 {"apiVersion":"0.1","swaggerVersion":"1.1","basePath":"http://localhost:8080","apis":[{"path":"/api-docs.{format}/pet","description":"none"}]}

答えて

3

私はyamlまたはjsonを使用して闊歩準拠したAPIを記述するとことから、サーバーを生成することをお勧めします。

swagger-serverは、expressの上にAPIをリアルタイムで(ソースコード生成なしで)ビルドできます。

JavaScriptコードジェネレータあります

  • コール-l nodejs-server

  • swagger-nodeと威張っ-codegenをクライアントは素晴らしい選択肢ですが、と統合するのは難しいようだTypeScript

+0

これが最良のアプローチです。多くのプロジェクトでは、コードを使ってサービスを構築しようとしていますが、これは最善のアプローチではないと私は信じています。 JSON(Jsonスキーマの統合のためにYAMLよりも標準的です)にswagger仕様を記述することによって、APIのドキュメントを特定の実行時環境または実装に結び付けているわけではありません。代わりに、仕様書を作成してから、swagger-codegenを使用してその仕様からクライアントまたはサーバーを構築しています。 – coding

関連する問題