0

Author と Book の 2 つのドメインを作成します。Author には多くの Book があり、Book は belongsTo Author です。

class Author {
     hasMany = [ books : Book ]
     String name
}

class Book {
    String title
    Author author
}

BookController.groovy のこの「savebook」関数

   def savebook={

        def json = request.JSON
        def bookInstance = new Book()
        bookInstance.properties = json

        bookInstance.author_id = json.author_id
        bookInstance.title = json.title         

        if (bookInstance.validate()) {
            bookInstance.save();
            def rep = [ respence: "1" ] // save
            render rep as JSON
        }

        else {
            def rep = [ respence: "0" ] // not save
            render rep as JSON
        }

    }

行の解決策が見つかりませんでした : bookInstance.author_id = json.author_idin "savebook" to create a book by an author.
2 番目の質問は、REST POST を作成するための JSON オブジェクトの構造をどのようにするかです。

4

1 に答える 1

1

質問の最初の部分では、ID で著者を検索し、そのインスタンスを Book の author 変数に割り当てる必要があります。

def author = Author.get(json.author_id)
bookInstance.author = author
bookInstance.title = json.title
author.addToBooks(bookInstance)

rest メソッドに入る JSON の構造は、任意の有効な JSON にすることができます。あなたは単にすることができます

{
    "author_id": 12345,
    "title" : "See Jane Run"
}

または、必要に応じて複雑にすることもできます。

于 2012-06-08T01:37:02.210 に答える