Как хранить данные для приложения через REST post call - PullRequest
1 голос
/ 31 января 2012

Привет, я разрабатываю мое первое приложение RESTful Grails ... В этом я сопоставил запрос записи, чтобы сохранить method.its, показывая некоторую ошибку, такую ​​как, Внутренняя ошибка сервера. способ сохранить данные с помощью REST Post request ...? Мой метод сохранения заключается в следующем ..

def save = {
    def xml = request.XML
    def post = new ImageProperties()
    post.content = xml.content.text()
    def markup
    if (post.save()) { markup = { status("OK") } }
    else { markup = { status("FAIL") } }
    render contentType: "text/xml; charset=utf-8", markup } }

и класс ImageProperties следующим образом ...

class ImageProperties {
    static hasMany={categories:Categories}
    String name
    String place
    String description
    String path
    String category
    Categories categories
}

Ответы [ 2 ]

0 голосов
/ 02 февраля 2012

Привет после долгого метода проб и ошибок, я нашел ответ .. Надеюсь, это будет полезно для многих пользователей ...

def save = {
    def xml = request.XML
    def post = new ImageProperties()
    post.name = xml.name.text()
    post.place = xml.place.text()
    post.path = xml.path.text()
    post.description = xml.description.text()
    post.category = xml.category.text()
    post.categories = Categories.get(xml.categories.@id.text())
    def markup

    if (post.save()) {
        markup = {
            status("OK")
        }
     } else {
            markup = {
            status("FAIL")
        }
    }
    render contentType: "text/xml; charset=utf-8",
    markup
}
0 голосов
/ 01 февраля 2012

Вы присваиваете опубликованные данные ожидаемому content свойству ImageProperties

def post = new ImageProperties()
post.content = xml.content.text()

но где в вашей организации это свойство?

class ImageProperties {
    static hasMany={categories:Categories}
    String name
    String place
    String description
    String path
    String category
    Categories categories
}

Обновление : Если вы хотите просто заполнить все свойства, вы можете использовать конструктор класса домена:

def post = new ImageProperties(xml.content)

Подробнее см. В разделе REST и Привязка данных руководства Grails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...