Привязка данных Grails не работает с маршаллированной датой Grails по умолчанию - PullRequest
0 голосов
/ 15 февраля 2019

Похоже, что Grails по умолчанию предоставляет дату, маршалированную в JSON как "EEE MMM dd HH: мм: сс z гггг" (например: сб. Янв. 05 00:02:00 CET 2019)

Еслиэта (строковая) дата используется в деятельности по созданию домена (создайте экземпляр того же класса домена с этой строковой датой в качестве даты), Grails не будет распознавать ее по умолчанию (хотя я думаю, что она должна логически принимать это).

Проблема заключается в том, что формат данных "EEE MMM dd HH: mm: ss z yyyy" не распознается ни в

grails.databinding.dateFormats = [
        'EEE MMM dd HH:mm:ss z yyyy',
        'dd/MM/yyyy HH:mm:ss',
        'dd/MM/yyyy',
        'yyyy-MM-dd HH:mm:ss',
        'yyyy-MM-dd HH:mm:ss.S',
        "yyyy-MM-dd'T'hh:mm:ss'Z'",
        'dd.mm.yyyy',
        'MMddyyyy'
]

, ни в @BindingFormat.Похоже, что для разбора 'EEE MMM dd HH: mm: ss z yyyy', также необходима локаль.Что-то вроде:

 def dateFormat = "EEE MMM dd HH:mm:ss z yyyy";
 SimpleDateFormat smpDF= new SimpleDateFormat( dateFormat, Locale.UK );

Есть ли способ передать местоположение, чтобы grails связывал эту дату, как она есть в строке?

Обновление: это Grails 3.3.9

...