Dojo / JSON在具有多个参数的方法上发布请求?

时间:2012-12-11 23:14:11

标签: javascript json rest dojo resteasy

这应该是基础知识但是我在从休息端点上的dojo发布多个参数时遇到了麻烦。我的后端有以下方法通过resteasy暴露。

@POST()
@Path("/updateProduct")
@Consumes(MediaType.APPLICATION_JSON)
public void updateGeneralSettings(String session,Product product) {
    System.out.println("session"+session);
    System.out.println("product"+product.toString);
}

只需使用Product作为参数,这就完美无缺。我还没弄明白如何用另一个参数构建一个jason字符串。产品数据只是从表单绑定,这是我想要附加的一些附加参数(即会话)。

jsonData = dojo.toJson(product)

var handler = request.post(url, {
    data: jsonData,
    headers: {
        "Content-Type": 'application/json; charset=utf-8',
        "Accept": "application/json"
    }
});

感谢你们能给我一些解决方案。

1 个答案:

答案 0 :(得分:3)

尝试在方法签名中添加参数名称:

public void updateGeneralSettings(@FormParam("session") String session, @FormParam("product") Product product)

然后像:

var handler = request.post(url, {
    data: {
      session: session,
      product: jsonData
    },
    headers: {
      "Content-Type": 'application/json; charset=utf-8',
      "Accept": "application/json"
    }
});