我有一个休息和一个微服务。在微服务中,我有一个表,我希望该表数据被获取到休息,我已经在休息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"
希望对您有所帮助。