我有一个休息和一个微服务。在微服务中,我有一个表,我希望该表数据被获取到休息,我已经在休息demoController中编写了以下方式。

def result = restBuilder().post("http://localhost:2222/api/microservice/fetchData"){
            header 'authorization', 'fdgtertddfgfdgfffffff'
            accept("application/json")
            contentType("application/json")
            json "{'empId':1,'ename':'test1'}"
        }

但这会引发错误“没有方法签名:demoController.restBuilder()适用于参数类型:()值:[]”。我应该如何从微服务中获取数据以进行休息?

最佳答案

您正在调用一个名为restBuilder()的方法,该方法不存在。如果您希望该方法起作用,则需要实现该方法并使它返回可以处理对post(String, Closure)的调用的方法。

您可能打算使用RestBuilder类。具体情况取决于您使用的Grails版本,但是您可能想要的是这样的东西...

RestBuilder restBuilder = new RestBuilder()
restBuilder.post('http://localhost:2222/api/microservice/fetchData'){
    header 'authorization', 'fdgtertddfgfdgfffffff'
    accept 'application/json'
    json {
        empId = 1
        name = 'test1'
    }
}

您可能需要在grails-datastore-rest-client中添加对build.gradle的依赖关系。
compile "org.grails:grails-datastore-rest-client"

希望对您有所帮助。

09-04 19:56