私はScalaで書かれた内部REST APIを文書化していますが、残念ながらSwaggerを統合することはできません。したがって、今はdocジェネレータ用の社内ソリューションを用意しています。 JSON-Schemaを生成して、リソースを取得する際のレスポンスの仕組みを示したいと思います。すでにモデル化されたケースクラスを利用してこれを行うためのショートカットがあるかどうかは疑問です。Scalaケースクラス階層からJSONスキーマを取得する方法はありますか?
5
A
答えて
3
autoschemaプロジェクトでは、ScalaのケースクラスからJSONスキーマを書き出すことができます。次のようにあなたはそれを使用することができます。
case class MyType(myValue: Int)
AutoSchema.createSchema[MyType]
をMavenのアーティファクトが使用できなくするようですが、あなたは、ソースをコピージャーを構築したりと依存関係として追加することができますいずれかのように、それはGitHubの上で利用可能SBTプロジェクトですあなたのbuild.sbt
に次のように置くことによってSBT:
lazy val autoschemaProject =
ProjectRef(uri("https://github.com/coursera/autoschema.git"), "autoschema")
lazy val root = (project in file(".")).dependsOn(autoschemaProject)
私はSBT 0.13.7でこれをテストしました。 autoschemaには独自の依存関係(主にplay-json 2.3.2
)があるので、プロジェクトの依存関係とバージョンの競合を避けるために、バージョンを変更する必要があるかもしれません。
1
@mziccardと記載されているように、オートスケマが行く方法です。しかし、メインリポジトリに何らかのアクティビティがあったのでしばらくしています。私はそれをフォークし、その依存関係や廃止予定のコード(他のフォークで行われた作業、私は単にそれを組み合わせた)を更新するのに時間をかけました。それは、今の私のフォークの下の中央のmavenで公開されている:
https://github.com/sauldhernandez/autoschema
あなたはbuild.sbt
でこれを置くことによって、それを使用することができます。
libraryDependencies += "com.sauldhernandez" %% "autoschema" % "1.0.0"
関連する問題
- 1. Avraスキーマ定義からScalaケースクラス定義を取得できますか?
- 2. lift-jsonを使用した階層JSONマップからのケースクラスとJSONオブジェクトの取得
- 3. 別のアンドロイドアプリからアンドロイドアプリビュー階層を取得する方法はありますか?
- 4. Scalaでケースクラスを使用した階層化
- 5. sql階層テーブルからツリーを取得
- 6. jsonオブジェクトから情報を取得する方法、属性を取得する方法はありますか?
- 7. jsonスキーマの値から型参照を取得する方法
- 8. React Native:ビュー階層を取得する方法はありますか? (ReactJSのget DOMツリーのような)
- 9. 未知のJSON階層全体の深さを取得する方法は?
- 10. 階層を含むディメンションテーブルにエンティティをマップする方法はありますか?
- 11. Pythonで階層化テーブルを階層型のjsonに変換する方法は?
- 12. アクセシビリティ階層のキャッシュをクリア/リフレッシュする方法はありますか?
- 13. jsonファイルからケースクラスを抽出するscala play
- 14. Scala 2.10リフレクション、ケースクラスからフィールド値を抽出する方法
- 15. 階層URIで属性を取得する方法は?
- 16. Javaマップ階層でフィールドを取得する方法は?
- 17. oracleの子ノードのツリー階層を取得する方法は?
- 18. Scala - シングルトンオブジェクト階層を整理する正しい方法は何ですか?
- 19. JSON階層へのアクセス/読み取り
- 20. Scalaでtypeclassesを作成する方法はいくつかありますか?プログラミングScalaの本から取ら
- 21. Scala(2.10)タイプのタグまたはシンボルからJavaクラスを取得する方法はありますか?
- 22. JSON隣接リストからの階層
- 23. Charのシーケンスから階層JSON-d3.sunburst
- 24. ScalaケースクラスからSpring POJO
- 25. Drupalメニュー - 階層を取得する方法
- 26. ツリービューオブジェクトで親階層を取得する方法
- 27. xml階層を表すツールはありますか?
- 28. Java - JSONスキーマからすべてのフィールド名を取得する方法
- 29. SDNコントローラのアプリケーション層データをMininetホストから取得する方法はありますか?
- 30. .NETのインターフェイス継承/階層 - より良い方法がありますか?