Я использую Play Framework 2.1Как привязать поля формы к модели, если имена свойств различны?
У меня есть запрос POST, поступающий из внешней системы и пытающийся привязать его к моей модели, но имена свойств модели отличаются от имен параметров в запросе: запрос имеет «body-plain» и у модели есть «bodyPlain» и т. д. Как я могу указать отображение из имен форм на имена свойств модели?
Я пытаюсь связать модель, как это:
Form<MailGunMessageData> mgDataForm = form(MailGunMessageData.class);
MailGunMessageData mgData = mgDataForm.bindFromRequest().get();
Мне понравилось, что вы предложили. Я надеялся, что есть более элегантное решение, например, переход на карту имени-имени или предоставление некоторых комментариев для моделирования полей и т. Д. –
Ну, вам также нужно заполнить карту, так что вместо этого просто создайте конструктор в своей модели и передайте весь DynamicForm к нему. Это будет полезно, если вы собираетесь использовать эту привязку в нескольких местах. – biesior
Я думаю, что такой пользовательский конструктор внесет неоправданную зависимость между моей моделью и Play –