Grails 2.4.3:使用REST服务

时间:2014-08-24 10:43:52

标签: rest grails groovy basic-authentication

如何在Grails 2.4.3中使用RESTful Web服务。我还需要使用基本身份验证。

你会认为这个问题已经有了一个很好的答案,但我真的很难找到一个。很多答案都指向了Grails rest插件的方向,我已经尝试了但是无法为我工作。我想我可能只是在努力学习文档并使用错误。

1 个答案:

答案 0 :(得分:14)

我找到了REST Client Builder Plugin,这篇文章记录得更好,对我来说效果更好。感谢Graeme Rocher!这是一个简单的例子,希望对其他人有所帮助。

import grails.plugins.rest.client.RestBuilder
import grails.transaction.Transactional

@Transactional
class BatchInstanceService {

    def getBatch(String id) {
        String url = "https://foo.com/batch/$id"

        def resp = new RestBuilder().get(url) {
            header 'Authorization', 'Basic base64EncodedUsername&Password'
        }
    }
}

这是测试课。

import grails.test.mixin.*

import org.apache.commons.httpclient.*
import org.apache.commons.httpclient.methods.*
import org.springframework.http.HttpStatus

import spock.lang.Specification

@TestFor(BatchInstanceService)
class BatchInstanceServiceSpec extends Specification {

    void "test get batch" () {
        when:
        def resp = service.restart('BI1234')

        then:
        resp.status == HttpStatus.OK.value
    }
}

返回的对象respResponseEntity类的实例。

我真的希望这会有所帮助。如果有更好的例子,请发布链接给他们。谢谢!