我想生成案例类的json模式,以便向其他服务提供一些信息,这些服务将使用rest api公开我的应用程序
我有这门课:
case class Vendor(
name: String,
synonyms: List[String],
transalit: String,
urlPart: String)
Run Code Online (Sandbox Code Playgroud)
我怎么能这样生成:
{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"synonyms":{
"type":"array",
"items":{
"type":"string"
}
},
"translit":{
"type":"string"
},
"urlPart":{
"type":"string"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我发现这个:https://github.com/coursera/autoschema但是sbt找不到依赖.
我也发现这有没有办法从Scala Case Class层次结构中获取JSON-Schema?这个问题与我的问题很相似,但没有答案..
也许我正在寻找不存在的答案.使用其他一些技术可能会更好
似乎autoschema的Maven工件不存在,这就是sbt无法找到依赖关系的原因.
好消息是,使用sbt,您可以从github导入项目并将其添加为依赖项.在您build.sbt添加以下内容:
lazy val autoschemaProject =
ProjectRef(uri("https://github.com/coursera/autoschema.git"), "autoschema")
lazy val root = (project in file(".")).dependsOn(autoschemaProject)
Run Code Online (Sandbox Code Playgroud)
请注意,root可能已经在您的定义中build.sbt,在这种情况下只添加dependsOn(autoschemaProject).
我用sbt 0.13.7测试了这个,我设法使用autoschema从case类生成一个json模式.
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |