Конечная точка в Akka Http выглядит так:
pathPrefix("somePath" / Segment) { someData =>
post {
entity(as[SMS]) { sms =>
// some code here ...
complete(StatusCodes.OK)
}
}
}
А СМС определяется как:
sealed trait Message
case class SMS(numFrom: String, message:String) extends Message
case class Email(emailFrom: String, message: String) extends Message
Если я хочу получить список SMS
, я могу сделать следующее:
type SMSList = List[SMS]
...
pathPrefix("somePath" / Segment) { someData =>
post {
entity(as[SMSList]) { listOfSMSs =>
// some code here ...
complete(StatusCodes.OK)
}
}
}
Что делать, если я хочу получать список SMS и электронных писем одновременно? Я пробовал это, и это не сработало:
type MessageList = List[Message]
pathPrefix("somePath" / Segment) { someData =>
post {
entity(as[MessageList]) { listOfMessages =>
// some code here ...
complete(StatusCodes.OK)
}
}
}
Можно ли получить список объектов, принадлежащих к одной иерархии?
Библиотеки:
circe = 0.13.0
heikoseeberger = 1.35.3
akka http = 10.2.3
Json:
[
{"numForm": "123 456", "message": "sms message"},
{"emailFrom": "[email protected]", "email message"}
]