几个星期前,我应该制作一个PHP / jQuery / AJAX Web应用程序,它基本上是一个包含多个用户的简单待办事项列表。在这个过程中我学到了很多关于ajax和jQuery的信息(感谢stackoverflow),我对最终结果非常满意。
该应用程序的工作方式如下: 用户登录,他的id存储在会话变量中。例如,如果他点击“添加”按钮,代码看起来就像这样。
//script.js
$.get("ajax.php",{'action':'new','text': $text, 'list': $selectedList
},
function(msg){
// add a new task and fade it
$(msg).hide().appendTo('.listoftasks').fadeIn();
});
在ajax.php上
//ajax.php if($_GET['action'] == 'new') add_task($_GET['text'], $_GET['list'], $_SESSION['user_id']);
所以,因为事实证明网络应用程序的Android应用程序在计划中,我被问到是否可以为它创建RESTful Web服务。任何人都可以指出我正确的方向,是否有可能用这样编码的应用程序实现这种服务,因为我已经读过某些地方(在许多其他事情中),它不能用于会话?
如果有人至少指点我一些基本的教程,那将是很棒的,因为在这一刻这对我来说非常困惑。
感谢您的帮助
编辑:
好的,谢谢大家,我设法做了我的帮助,并且我学到了新的东西,谢谢。我现在遇到的问题是身份验证。基本上Android应用程序向我的api.php页面发送请求,其中包含一些变量(id,list_id等)。现在我如何实现某种形式的身份验证,以便api.php只返回经过身份验证的用户的结果。我已经简短地与应用程序开发人员交谈,基本上他会通过http标头(或类似的东西)向我发送用户名和密码。如何在api.php页面上获取这些值? 谢谢你的帮助:)
答案 0 :(得分:5)
简而言之 - 一个非常实用的非学术性解释 - RESTful Web服务是一个Web服务器,它响应以下:resource /:action / [:id]模式构建的请求。
例如,您的用户是资源,您可以执行以下操作:
这是一个CRUD界面:创建,读取,更新,销毁。
您的会话也是资源。
某些资源不需要具有所有CRUD操作。
对于描述RESTful架构的原始文档:
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
对此事进行更实际的审查:
http://www.amazon.com/Service-Oriented-Design-Rails-Addison-Wesley-Professional/dp/0321659368
答案 1 :(得分:3)
这里有很多有用的信息http://code.google.com/p/implementing-rest/
请注意,网络上有关REST的错误信息比有效信息更多。
您将在Web上看到的大多数系统都描述为REST,它们只是基于HTTP的远程过程调用API。这是一个有效的体系结构,但它不是REST,因此不需要遵守REST约束,也不一定能获得REST的好处。