【问题标题】:Does it make sense to create a RESTful service that I can send a binary file to?创建一个可以将二进制文件发送到的 RESTful 服务是否有意义?
【发布时间】:2010-10-05 19:50:59
【问题描述】:

正如问题所述 - 我想将二进制文件发送到 Web 服务。以 REST 的方式考虑这一点是否有意义? “POST”二进制数据是否有意义,您将如何设置接收 Web 服务?

我在 grails 中工作,我正在尝试设置一项服务,该服务将允许一个 Web 服务向其传递文件,然后在经过一些处理后将文件传回。

【问题讨论】:

  • 发布二进制数据是有道理的,但如果只是为了修改数据并返回它,我不知道那是多么的 RESTful。不是很,我想。
  • @cHao 为什么你认为这不是 RESTful?
  • @Darrel:因为 REST 的原则(据我理解)说,简单地说,(1)数据是状态,(2)状态有一个 URL。一项服务只是调整一些数据并返回它,而不给它一个可预测的 URL 并使其在服务器上可见,我所理解的似乎不符合 REST 的架构目标。
  • 好吧,数据并没有完全调整 - 它存储在服务器上..但不再以二进制形式。信息被提取,解析,等等等等。换句话说,一些用完 ProjectController 的服务最终会给我一个有效的项目。
  • @cHao 查看 RFC2616 以了解 POST 的一种用途。它可用于将表示传递给处理资源。该处理资源返回已修改资源的表示是完全有效的。

标签: java web-services rest grails


【解决方案1】:

是的,这是一个完全有效的场景。只需将请求内容类型设置为application/octet-stream,服务器就可以读取字节流并对其进行任何操作。

【讨论】:

  • 这在 grails 方面是如何工作的?我可以简单地设置闭包并使用 params 字段将字节数组拉出吗?
  • 抱歉,这超出了我的专业范围。但如果 Grails 不能处理,那就找一个新的 REST 框架 :-)
  • 是的-它可能可以,我只是在寻找示例。我发现的所有在线示例都在发布 XML 数据,这很容易在 grails 中获取
  • 查看 Grails 的 JAX-RS 插件。这个可以做任何你想做的事情:)
猜你喜欢
  • 1970-01-01
  • 2016-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 2011-06-12
  • 1970-01-01
相关资源
最近更新 更多