gpt4 book ai didi

java - 使用 Flex 创建 REST 客户端是否可行?

转载 作者:IT老高 更新时间:2023-10-28 21:01:10 24 4
gpt4 key购买 nike

我正在使用用 Java 实现的 Restful 架构开始一个项目(使用新的 JAX-RS 标准)

我们计划使用 Flex 应用程序开发 GUI。我已经使用 HTTPService 组件发现了这个实现的一些问题(响应错误代码、 header 访问......)。

你们中的任何人都有类似项目的经验。可行吗?

最佳答案

这里的问题是,很多围绕这个问题的网络讨论都是一年或更长时间。我现在正在做同样的研究,这就是我今天学到的。

这个 IBM Developer Works article from August 2008 Jorge Rasillo 和 Mike Burr 展示了如何制作 Flex 前端/RESTful 后端应用程序(PHP 和 Groovy 中的示例)。不错的文章。无论如何,这是要点:

  • 他们的 PHP/Groovy 代码使用并期望 PUT 和 DELETE。
  • 但 Flex 代码必须使用 POST,但将 HTTP header X-Method-Override 设置为 DELETE(我认为您可以对 PUT 执行相同操作)。
  • 请注意,这不是上面讨论的代理方法。

// Flex doesn't know how to generate an HTTP DELETE.
// Fortunately, sMash/Zero will interpret an HTTP POST with
// an X-Method-Override: DELETE header as a DELETE.
deleteTodoHS.headers['X-Method-Override'] = 'DELETE';

这里发生了什么? IBM Web 服务器截获“POST with DELETE”并将其解释为 DELETE。

所以,我进一步挖掘,发现了 post and discussion with Don Box (最初的 SOAP 家伙之一)。显然这是一种相当标准的行为,因为某些浏览器等不支持 PUT 和 DELETE,并且是一种已经存在一段时间的解决方法。这是一个片段,但还有更多的讨论。

"If I were building a GData client, I honestly wonder why I'd bother using DELETE and PUT methods at all given that X-HTTP-Method-Override is going to work in more cases/deployments."

我从中得出的结论是,如果您的 Web 端支持此 X-Method-Override header ,那么您可以使用这种方法。 Don Box 的评论让我觉得它得到了很好的支持,但我还没有证实这一点。

另一个问题是关于能够读取 HTTP 响应 header 。同样,来自 a blog post in 2007 by Nathan de Vries ,我们看到这个讨论。他用自己的评论跟进了那篇博文和讨论:

"The only change on the web front is that newer versions of the Flash Player (certainly those supplied with the Flex 3 beta) now support the responseHeaders property on instances of HTTPStatusEvent."

我希望这意味着它现在不是问题。

关于java - 使用 Flex 创建 REST 客户端是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/153420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com