Я пытаюсь проверить языковой параметр, поступающий из RESTful API.Я хочу изменить en_US на en-US, но входящие параметры определены как val.
Я понимаю, что типы val не могут быть переназначены, но тогда как мы проверяем параметры.Вот мой код контроллера.
def create = Action.async(parse.json) { implicit rs =>
var feedback = rs.body.validate[FeedbacksView]
feedback.fold(
errors => {
play.api.Logger.debug(JsError.toJson(errors).toString())
Future.successful(BadRequest(Json.obj("message" -> JsError.toJson(errors))))
},
feedbackView => {
feedbackService.createUpdate(feedbackView,"quality_feedback_created").map { result =>
val updatedFeedbackView = result.feedbacks.headOption.get.copy(id = Some(result.feedbacks.headOption.get.id.get))
Ok(Json.toJson(updatedFeedbackView))
}
}
)
}
А вот мой класс дел FeedbacksView.
case class FeedbacksView(feedbacks: Seq[FeedbackView] = Seq.empty) {
}
А вот мой класс дел FeedbackView.
case class FeedbackView(id: Option[UUID] = None,
targetLanguage: String,
feedbackNotes: Option[String] = None
) {
targetLanguage = targetLanguage.replace("_", "-"); // Val reassignment error
Как мне сделатьизменяемый целевой язык?