使用带有Grails的JSON来使用REST API

时间:2015-01-24 18:40:30

标签: rest grails

我尝试使用REST服务,要求我以JSON提供登录详细信息:

def resp = new RestBuilder().put("https://..."){        
   contentType "application/json"
   accept "application/json"
   header "X-ESA-API-Key", "ROBOT"
   json {
      type = "STANDARD_LOGIN"
      login = "username"
      password = "password"
   }
}

这导致服务响应“Method not allowed”。

但是,使用cURL:

$ curl --compressed \
-X POST \
-d '{"type":"STANDARD_LOGIN","login":"username","password":"password"}' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-ESA-API-Key: ROBOT' \
'https://...

我从服务中获得了正确的响应和身份验证。

有人可以告诉我在Grails中做错了什么或如何调试此问题?

1 个答案:

答案 0 :(得分:1)

区别在于PUT中使用了RestBuilderPOST中使用了curl

PUT"方法不允许"。请改用post()