如何在Web应用程序上实现RESTful服务?

Sla*_*jic 2 php ajax rest jquery android

我对标题中的问题进行了大量搜索,但我仍然不确定我应该做什么.我今天早上刚刚听说过RESTful,我读的越多,我就越困惑.

几个星期前,我应该制作一个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();
    });
Run Code Online (Sandbox Code Playgroud)

并在ajax.php上

//ajax.php

 if($_GET['action'] == 'new')
    add_task($_GET['text'], $_GET['list'], $_SESSION['user_id']);
Run Code Online (Sandbox Code Playgroud)

所以,事实证明,Web应用程序的Android应用程序正在计划中,我被问到是否可以为它创建RESTful Web服务.任何人都可以点我在正确的方向,是有可能实现这种服务与编码这样的应用程序,因为我读的地方(在许多其他事情),它不与会话工作?

如果有人至少指点我一些基本的教程会很棒,因为在这一刻这对我来说非常困惑.

谢谢你的帮助

编辑:

好的,谢谢大家,我设法做了我的帮助,并得到了一些新的东西,谢谢.我现在遇到的问题是身份验证.基本上Android应用程序向我的api.php页面发送请求,其中包含一些变量(id,list_id等).现在我如何实现某种形式的身份验证,以便api.php只返回经过身份验证的用户的结果.我已经简短地与应用程序开发人员交谈,基本上他会通过http标头(或类似的东西)向我发送用户名和密码.如何在api.php页面上获取这些值?谢谢你的帮助:)

Ner*_*ian 5

简而言之 - 一个非常实用的非学术性解释 - RESTful Web服务是一个Web服务器,它响应按照:resource /:action/[:id]模式构建的请求.

例如,您的用户是资源,您可以执行以下操作:

  • GET/users:用户列表
  • GET/users/5000/edit:编辑特定用户
  • GET/users/5000:显示特定用户
  • GET/users/new:用于创建新用户的表单
  • POST/users /:创建新用户的发布请求.
  • PUT/users/5000:更新用户的Post请求.
  • DELETE/users/5000:删除用户的销毁请求.

它是一个CRUD界面:创建,读取,更新,销毁.

您的会话也是资源.

  • POST/session/create:为用户创建一个新会话.
  • DELETE/session/destroy:删除会话.

某些资源不需要具有所有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