RestyGWT:它支持纯文本吗?

时间:2014-08-01 14:33:29

标签: gwt resty-gwt

我无法使用RestyGWT接收纯文本。一个非常简单的测试服务看起来像这样:

@GET
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.TEXT_PLAIN)
void test(MethodCallback<String> callback);

在客户端,我总是得到:

Response was NOT a valid JSON document

查看HTTP响应我发现内容类型设置正确:

Content-Type:text/plain

问题是什么?为什么RestyGWT尝试将其解析为JSON?我做错了吗?

2 个答案:

答案 0 :(得分:4)

如果您使用TextCallback代替MethodCallback<String>,则不会出现此错误。 它会自动将Accept标题设置为text/plain,因此您不必在异步界面中使用@Produces标注。

答案 1 :(得分:2)

好吧,RestyGWT是一个Json库,AFAIK它不能处理纯文本,XML或其他任何东西。 "foo"不是有效的Json数据,应为["foo"]{"stuff": "foo"}

事实上,在我们的Rest API中,我们尝试发送纯文本(id),但我们最终创建了一个包含id的简单对象。