【发布时间】:2012-03-02 18:17:23
【问题描述】:
我有一个用 Apache Wink 1.0 编写的简单 Web 服务,我想接收和返回 JSON 数据。
根据 Wink 文档,这应该可以工作...
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public JSONObject postJSON(JSONObject requestJSON) {
JSONObject jobj = new JSONObject();
return jobj;
}
...但是当我尝试访问网络服务时看到此错误...
org.apache.wink.server.internal.handlers.PopulateResponseMediaTypeHandler -
Content-Type not specified via Response object or via @Produces annotation
so automatically setting via generic-type compatible MessageBodyWriter providers
...非常感谢任何意见或建议!
罗伯
【问题讨论】:
-
你试过"application/json"吗?
-
是的,试过了,结果一样。
-
奇怪的错误。定义看起来是正确的,除了如果那是一个 org.json.JSONObject 那么我不确定它是可序列化的。尝试将返回类型更改为字符串,以确保至少所有路径都是正确的。另外,如果可以,请张贴您的通话签名。
-
将返回更改为 String 类型给了我同样的错误。不确定“调用签名”是什么,该类用“@Path(value="/customers")”注释,我使用 URL 热服务:“localhost:9080/testWeb/ws/customers”-我有一个纯文本 GET 工作正常相同的课程,但无法让 JSON 运行。 :(
-
@RobertHume - 调用签名通常是 http 动词、请求 url 和标头。它应该类似于
GET http://localhost:9080/testWeb/ws/customers HTTP/1.1 ... <headers>。
标签: java json jax-rs apache-wink