在 Grails Rest 资源中保存日期
Saving a Date in a Grails Rest resource
我正在测试 Grails Rest Api。
我创建了一个 Grails 应用程序,其中的域 class 声明为资源:
import grails.rest.Resource
@Resource(uri='/books')
class 书 {
String title
Date releaseDate
static constraints = {
title blank:false
releaseDate blank:false
}
}
我使用 Chrome 应用程序 "Rest Console" 发送了一个 http post 请求来保存一本书,参数如下:
Body Content-type: application/json
原始 Body:
{
"title": "The_book_title",
"releaseDate": "2015-01-01"
}
或
{
"title": "The_book_title",
"releaseDate": "2015-01-01T07:30:00Z"
}
我收到验证错误:字段 releaseDate 不是有效日期。
我的问题是我应该如何在 post 请求中格式化我的日期以通过 Grails 域 class 验证?
我使用 Grails 2.4.4
谢谢
我认为 grails 的默认日期格式是 yyyy-MM-dd HH:mm:ss.SSS ZZZZ
。
您可以通过将以下内容添加到 Config.groovy
来更改此设置:
grails.databinding.dateFormats = ['yyyy-MM-dd HH:mm:ss.SSS ZZZZ','yyyy-MM-dd', ...]
其中“...”是您期望的任何其他日期格式。一旦您的 JSON 日期格式与配置的格式之一匹配,数据绑定就会发生。
我正在测试 Grails Rest Api。
我创建了一个 Grails 应用程序,其中的域 class 声明为资源:
import grails.rest.Resource
@Resource(uri='/books') class 书 {
String title
Date releaseDate
static constraints = {
title blank:false
releaseDate blank:false
}
}
我使用 Chrome 应用程序 "Rest Console" 发送了一个 http post 请求来保存一本书,参数如下:
Body Content-type: application/json
原始 Body:
{ "title": "The_book_title", "releaseDate": "2015-01-01" }
或
{ "title": "The_book_title", "releaseDate": "2015-01-01T07:30:00Z" }
我收到验证错误:字段 releaseDate 不是有效日期。
我的问题是我应该如何在 post 请求中格式化我的日期以通过 Grails 域 class 验证?
我使用 Grails 2.4.4
谢谢
我认为 grails 的默认日期格式是 yyyy-MM-dd HH:mm:ss.SSS ZZZZ
。
您可以通过将以下内容添加到 Config.groovy
来更改此设置:
grails.databinding.dateFormats = ['yyyy-MM-dd HH:mm:ss.SSS ZZZZ','yyyy-MM-dd', ...]
其中“...”是您期望的任何其他日期格式。一旦您的 JSON 日期格式与配置的格式之一匹配,数据绑定就会发生。