Grails REST Client插件 - 指定标题数据

时间:2011-03-16 18:58:20

标签: rest grails grails-plugin httpbuilder

用于grails的REST客户端插件的最新版本:

withHttp(uri: "http://foo/bar") {
    def bodyContent = [
           apiKey: "somekey",
           identifier: identity.identity,
           activity: ac as JSON
        ]
    def json = post(path: 'activity', body: bodyContent)
    if (json.stat == 'ok') {
        wsr.success = true
    }
}

如何向此请求添加标头数据?

1 个答案:

答案 0 :(得分:8)

您应该能够将Closure传递给post方法并在那里设置标题。

withHttp(uri: "http://foo/bar") {
    def bodyContent = [
           apiKey: "somekey",
           identifier: identity.identity,
           activity: ac as JSON
        ]
    def json = post(path: 'activity', body: bodyContent) {
        headers.'User-Agent' = 'Mozilla/5.0 Ubuntu/8.10 Firefox/3.0.4'
    }
    if (json.stat == 'ok') {
        wsr.success = true
    }
}

以下内容也应该有效:

....
....
def json = post(path: 'activity', 
                 body: bodyContent, 
                 headers:['User-Agent':'myagent'])
....
....