【问题标题】:RestyGWT: does it support plain text?RestyGWT:它支持纯文本吗?
【发布时间】:2014-09-24 19:06:47
【问题描述】:

我无法使用 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?我做错了吗?

【问题讨论】:

    标签: gwt resty-gwt


    【解决方案1】:

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

    确实,在我们的 Rest API 中,我们尝试发送纯文本(一个 id),但我们最终制作了一个简单的对象来包装 id。

    【讨论】:

      【解决方案2】:

      如果您使用TextCallback 而不是MethodCallback&lt;String&gt;,则不会出现此错误。 它会自动将Accept 标头设置为text/plain,因此您不必在异步接口中使用@Produces 标记。

      【讨论】:

      • 作为记录,这在official documentation(在 REST API 下)中有解释,但在 javadocs 中没有。奇怪的是,TextCallback 扩展了 MethodCallback&lt;String&gt;
      猜你喜欢
      • 2011-01-13
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多