在grails中获取响应对象API

时间:2019-06-25 05:02:12

标签: grails

这是方法:

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

您能帮我吗?

2 个答案:

答案 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")
        }
 }