所以我有一个简单的Grails UI,这需要几个字段..名字,姓氏等的形式。 该控制器调用,然后使用REST客户端Builder插件调用REST服务的服务方法。
其余服务不承认但是参数。
下面是一个简单的REST调用。
def resp = rest.post(baseUrl, params)
{
header 'Accept', 'application/json'
contentType "application/x-www-form-urlencoded"
}
使用插件的版本2.0.1。
PARAMS看起来像
[firstName:Kas, action:index, format:null, controller:myController, max:10]
REST服务方法看起来像...
@POST
@Path("/employees")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Consumes({MediaType.APPLICATION_FORM_URLENCODED})
public IdmResult createNewEmployee(@FormParam("firstName") String firstName) {
try {
if(firstName == null) return constructFailedIdmResult("First Name is a required field");
// Do some other stuff
}
}
服务与“名是必填字段”响应
当我从邮递员提交后它工作正常。 从邮差成功的请求看起来像
POST /idm/employees HTTP/1.1
Host: <ip>:<url>
Accept: application/json
firstName: Kas
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
想弄清楚我怎么能看到该插件正在建设,所以我可以比较不同的要求,但最终我只需要知道如何正确地从插件发送请求,以便REST服务识别表单参数。