【发布时间】:2021-08-10 07:30:43
【问题描述】:
我们正在使用消息队列来获取一些事件。这些事件被描述为这样的 json 模式。
{
"title": "Partner",
"type": "object",
"properties": {
"partnerID": {
"type": "string",
"examples": [
"0001038645"
]
},
"partnerTyp": {
"type": "string",
"enum": [
"NATPERS",
"PAAR",
"SONST-JURIST"
],
"examples": [
"SONST-JURIST"
]
},
"name": {
"oneOf": [
"vorname": {
"type": "string",
"examples": [
"Bernd"
]
},
"nachname": {
"type": "string",
"examples": [
"Wernersen"
]
},
},
{
"vorname1": {
"type": "string",
"examples": [
"Bernd"
]
},
},
{
"nameExtern": {
"type": "string",
"examples": [
"Internationale Pinsel Manufaktur Gesellschaft mbH"
]
},
}
]
}
}
说明
这意味着我们可以拥有三种不同类型的合作伙伴,这也会导致在 kotlin 中产生不同的类。我们想将它们保存在我们的数据库(mongodb)中。
稍后我们希望通过 REST 将它们传送到另一个应用程序。
问题
我们现在的问题是,当我们从事件中获取消息时,我们不知道如何确定我们需要将哪种类型保存在数据库中。
在其他项目中,我们有类似的东西
message.getBody(messageClass)
但是如何在这个事件中获得正确的信息类呢?
以及我们稍后如何从数据库中获取正确类型的更多信息。
interface ContractRepository : MongoRepository<Partner, String> {
override fun deleteAll()
}
Partner 可以是一个抽象类吗?spring data 什么时候知道正确的实现是什么?
【问题讨论】:
标签: mongodb kotlin jsonschema