2011-04-04 86 views
0

我们有一个Rails站点,它也连接到我们的供应商以从它们获取XML信息。为此,我使用Net::HTTP从我们的终端发出请求,并将其视为“黑匣子”。如何在服务器上处理HTTP请求

现在我们的供应商之一想要随机发送XML数据给我们。即它们是使得为HTTP请求,而不仅仅是响应我们的HTTP请求之一。

既然桌子已经打开了我们,我是否需要在我们的服务器上设置一些'特殊'来倾听他们的请求?

逻辑表示他们的HTTP请求与浏览器所做的没有任何不同,在这种情况下,我需要做的就是告诉他们指向哪个“控制器/方法”。

我的问题是,这真的很简单,还是我必须设置其他的东西?

回答

0

最基本的就是这么简单。处理HTTP POST或PUT请求的控制器方法将执行此操作。但是,其他方面可能会出现复杂性:您需要决定是否要做某些事情,以确保数据只来自您期望的位置,如果数据缺少关键字段应该怎么办(您通常会捕获验证并发回给用户)。

+0

感谢您的回复。这是一种解脱。还有一个问题。他们将做一个POST方法。如何访问控制器中的POST内容?我读过有一个'Request'对象,它有3个访问器方法。但是,如何引用控制器内的“请求”对象? – nexar 2011-04-04 13:28:18

+0

res = RestClient.post“http:// localhost:3000/xml”,:xml =>'<?xml version =“1.0”?>这里是龙'那么rdebug的结果是:(rdb:3) eval params [:xml] “<?xml version = \”1.0 \“?> Here is dragons” – mikewilliamson 2011-04-05 01:42:51

0

我认为它没什么大不了的。您可以通过从请求中获取xml来获取为请求提供服务的URL(控制器/操作),并返回一些标记(文本)。您必须将该URL提供给供应商,并要求他以相同的方式发布xml。

相关问题