我希望 Play 调用网络服务。 Web 服务接受 application/json
并返回它。通过以下代码,我试图实现这一目标。 (请注意,稍后添加 headers.put(xxx)
是为了解决该问题)。
WSRequest request = WS.url(targetURL);
request.body = new Gson().toJson(user);
request.headers.put("Content-type","application/json");
request.headers.put("Accept","application/json");
request.post();
奇怪的是我的 JBOSS 服务器回复:“无法使用内容类型”。如果我在 Chrome 浏览器中使用“简单 REST 客户端”插件,并提供创建的整个 JSON Body GSon 并添加内容类型 header ,我会得到有效的响应。这不是发送JSON到服务器的方法吗?或者我在这里遗漏了一些基本部分?
最佳答案
在检查 WSRequest 类的 API 文档时,我注意到字段 mime-type 通过如下设置,JBOSS(resteasy)成功接受了我的请求。
request.mimeType = "application/json";
关于web-services - 使用 WSRequest 发布 JSON 对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7223893/