У меня есть request.body, входящий в контроллер, и прежде чем я что-нибудь сделаю с ним, я хочу проверить, является ли это массивом. Иначе оберните его в массив и продолжайте.Проверка и преобразование типа Scala
Я пробовал это, но я недостаточно хорошо знаком с игрой scala, чтобы заставить ее работать/найти ответ.
if (request.body.isInstanceOf[Array] == false) {
var input = Array(request.body)
}
else {
var input = request.body
}
Мой контроллер
def insertMultiple = Action.async(parse.json) {
request =>
[INSERT IF/ELSE Statement here]
Json.fromJson[Seq[Person]](request.body) match {
case JsSuccess(newPersons, _) =>
val documents = newPersons.map(implicitly[collection.ImplicitlyDocumentProducer](_))
collection.bulkInsert(ordered = true)(documents: _*).map{
multiResult =>
Created(s"Created ${multiResult.n} persons")
}
case [email protected](_) =>
Future.successful(BadRequest("Test"))
}
}
Тип 'body' по умолчанию (если вы не определили анализатор тела) 'AnyContent', почему вы думаете, что это может быть« Массив »? Можете ли вы опубликовать полный метод контроллера, который вы используете? –
В основном я могу добавить нескольких людей в db, но они входят как [{Person1}, {Person2}]. Однако, если запрос приходит только с {Person}, этот метод прерывается. Поэтому я решил попробовать обернуть вокруг него массив, чтобы стать [{Person}], чтобы заставить метод работать – Jeff