我尝试使用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中做错了什么或如何调试此问题?
答案 0 :(得分:1)
区别在于PUT
中使用了RestBuilder
而POST
中使用了curl
。
PUT
"方法不允许"。请改用post()
。