这是方法:
def index() {
RestBuilder rest = new RestBuilder()
def resp = rest.get("http://192.168.1.212:9000/api/books") {
accept("application/json")
contentType("application/x-www-form-urlencoded")
return resp as JSON
}
}
当我渲染resp
时,浏览器中仅显示object grails.plugins.rest.client.RestBuilder@4b1c57c4
。
您能帮我吗?
答案 0 :(得分:1)
您将return
放在错误的位置。您编写的方式只是从闭包中返回,而不是从控制器方法中返回。您只需要将return
移到闭包之外即可。您还可以只使用RestResponse.json
字段来获取JSON。
def index() {
RestBuilder rest = new RestBuilder()
return rest.get("http://192.168.1.212:9000/api/books") {
accept("application/json")
contentType("application/x-www-form-urlencoded")
}.json
}
请注意,这不会处理任何潜在的错误,例如无法从端点接收正确的响应,或者根本无法连接到端点。您只需要在需要时使用错误处理扩展此功能即可。
答案 1 :(得分:-1)
您将退货品放入瓶盖中,这是错误的 试试这个
def index() {
RestBuilder rest = new RestBuilder()
rest.get("http://192.168.1.212:9000/api/books") {
accept("application/json")
contentType("application/x-www-form-urlencoded")
}
}