gpt4 book ai didi

grails - 如何在REST Web服务中为Grails创建Json?

转载 作者:行者123 更新时间:2023-12-02 15:35:49 27 4
gpt4 key购买 nike

我创建了两个域,“作者”和“书”,“作者”有很多书,“书”是“属于作者”。

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
}

}

我还没有找到以下解决方案:“savebook”中的 bookInstance.author_id = json.author_id以创建作者的书。
我的第二个问题是,进行REST POST的JSON对象的结构应该如何?

最佳答案

对于问题的第一部分,您需要按作者的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"
}

否则您可能会变得很复杂。

关于grails - 如何在REST Web服务中为Grails创建Json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10941985/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com