将自定义API转换为Ruby on Rails ActiveResource

时间:2011-04-11 15:02:00

标签: c++ ruby-on-rails xml-rpc activeresource

我有一组嵌入式设备,运行用c ++编写的软件。用于通信设备的API很简单:获取/设置/获取参数和信号。

我想实现通用的Web应用程序,从单一点访问所有设备。

我的想法是将XML RPC接口添加到设备,然后使用ActiveResource从Web服务器访问设备。在实践中似乎根本没有使用这种组合。

我可以自由选择设备内的任何协议。你有什么建议?

2 个答案:

答案 0 :(得分:1)

如果您已经在考虑使用XML RPC,我假设您在设备上运行某种Web服务器。我可能会选择基于XML RPC的RESTful Web服务。如果仔细设计,您可以在Rails应用程序上获得相应的服务。

例如:

http://somedevice/signals.json - 获取所有信号

http://yourrailsapp/somedevice/signals.json - 得到一些设备的信号;如果更有意义的话,你可以在这里使用id(http://yourrailsapp/devices/1/signals.json)。

答案 1 :(得分:1)

您可能在Rails社区中找不到太多XML RPC内容。 Rails本身真的会推动您使用RESTful Web服务。特别是面向资源的RESTful架构。关于它有great books但它归结为使用http方法(获取,放置,发布,删除)而不是传递参数,然后是一些智能URL。