这
应该是基础知识,但我在休息端点上发布来自 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);
}
仅将产品作为参数即可正常工作。我还没有弄清楚如何使用另一个参数构建一个 jason 字符串。产品数据只是从表单绑定,这是我想附加的一些附加参数(即会话)。
jsonData = dojo.toJson(product)
var handler = request.post(url, {
data: jsonData,
headers: {
"Content-Type": 'application/json; charset=utf-8',
"Accept": "application/json"
}
});
如果你们能给我一些解决方案,请表示感谢。
尝试将参数名称添加到方法签名中:
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"
}
});