这是方法:
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
。你能帮我吗?
最佳答案
您已将return
放在错误的位置。您编写的方式只是从闭包中返回,而不是从 Controller 方法中返回。您只需要将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
}
请注意,这不会处理任何潜在的错误,例如无法从端点接收正确的响应,或者根本无法连接到端点。您只需要在需要时使用错误处理对此进行扩展。
关于grails - 在grails中获取响应对象API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56747109/