6

私は ini Scala で記述された内部 REST API を文書化していますが、残念ながら Swagger を統合することはできないため、現時点ではドキュメント ジェネレーターの社内ソリューションを使用しています。リソースを取得するときの応答を示すために、JSON スキーマを生成したいと思います。すでにモデル化されているケースクラスを利用して、これを行うためのショートカットがあるかどうか疑問に思っています。

4

2 に答える 2

3

autoschemaプロジェクトは、Scala ケース クラスから JSON スキーマをエクスポートできます。次のように使用できます。

case class MyType(myValue: Int)
AutoSchema.createSchema[MyType]

Maven アーティファクトは利用できなくなったようですが、Github で利用できる SBT プロジェクトであるため、ソースをコピーするか、Jar をビルドするか、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 でテストしました。オートスキーマには独自の依存関係 (主にplay-json 2.3.2) があることに注意してください。そのため、所有するプロジェクトの依存関係とのバージョンの競合を避けるために、バージョンを変更する必要がある場合があります。

于 2015-06-25T20:10:41.607 に答える
1

@mziccard が述べたように、自動スキーマが最適です。ただし、メイン リポジトリでアクティビティが発生してからしばらく経ちました。私はそれをフォークし、その依存関係と非推奨のコードを更新するのに時間がかかりました (他のフォークで行われた作業を単純に組み合わせただけです)。それは現在、私のフォークの下でmaven centralに公開されています:

https://github.com/sauldhernandez/autoschema

これを次のように入れることで使用できますbuild.sbt

libraryDependencies += "com.sauldhernandez" %% "autoschema" % "1.0.0"

于 2016-06-29T18:35:26.940 に答える