我正在尝试创建一个应用程序,该应用程序基本上可以让 android 设备上的用户发送一条消息,该消息立即出现在 rails 应用程序中。有没有人对我用来做这件事有什么建议?
最佳答案
这是一个快速演练。
准备基础应用程序
让我们创建一个新的 rails 应用程序
$ rails new simple-message
$ cd simple-message/
我们现在将创建一个名为 Message 的 RESTful 资源,它将管理来自您的手机的消息。
$ rails generate scaffold Message title:string content:text
创建将包含消息的表:
$ rake db:migrate
启动绑定(bind)服务器并将浏览器指向 http://0.0.0.0:3000/messages
从那里您可以手动创建新消息,该消息将显示为列表。
您的 API 已经存在
对于您可以使用浏览器导航的每个页面,都有一个相应的 View 可以接受来自其他客户端的编程调用。
如果您浏览 http://0.0.0.0:3000/messages.xml,您将获得一个包含所有消息的 xml。带 curl :
$ curl http://localhost:3000/messages.xml
<?xml version="1.0" encoding="UTF-8"?>
<messages type="array">
<message>
<created-at type="datetime">2010-11-27T18:24:36Z</created-at>
<title>Just a message</title>
<updated-at type="datetime">2010-11-27T18:24:36Z</updated-at>
<id type="integer">1</id>
<content>With some content</content>
</message>
</messages>
是时候添加一条新消息了:
$ curl -X POST -H 'Content-type: text/xml' -d '<message><title>Hello</title><content>How are you</content></message>' http://0.0.0.0:3000/messages.xml
<?xml version="1.0" encoding="UTF-8"?>
<message>
<created-at type="datetime">2010-11-27T18:40:44Z</created-at>
<title>Hello</title>
<updated-at type="datetime">2010-11-27T18:40:44Z</updated-at>
<id type="integer">2</id>
<content>How are you</content>
</message>
您的 Android 客户端必须充当 curl 才能添加新消息。
保护您的网络应用程序
现在您需要一些身份验证以仅允许特定用户充当管理员并限制您的 API 的使用。在挖掘在 Rails 中实现身份验证的各种方法之前:
您可以找到不同策略的精彩回顾 here 。