如何将iOS应用程序连接到Symfony2 RESTful Web服务?

如何将iOS应用程序连接到Symfony2 RESTful Web服务?,ios,json,rest,symfony,fosrestbundle,Ios,Json,Rest,Symfony,Fosrestbundle,我有一个iOS应用程序正在运行,能够连接到RESTful PHP Web服务。webservice最初是在本机PHP中构建的,现在我将它迁移到Symfony2 web服务。在iOS端,我以JSON的形式发送请求,服务器处理数据并返回JSON响应数据,一切正常 现在,我的symfony2 Web服务能够正确响应浏览器窗口或终端发出的请求,使用httpie进行测试,如果我在参数中指定.json,它将在浏览器窗口中返回json数据。但是,我不知道如何让iOS应用程序发送请求,而不是浏览器。如果该信息有

我有一个iOS应用程序正在运行,能够连接到RESTful PHP Web服务。webservice最初是在本机PHP中构建的,现在我将它迁移到Symfony2 web服务。在iOS端,我以JSON的形式发送请求,服务器处理数据并返回JSON响应数据,一切正常

现在,我的symfony2 Web服务能够正确响应浏览器窗口或终端发出的请求,使用httpie进行测试,如果我在参数中指定.json,它将在浏览器窗口中返回json数据。但是,我不知道如何让iOS应用程序发送请求,而不是浏览器。如果该信息有任何意义,我将使用FOSRestBundle。以下是终端的一个示例:

http http://serveripaddress/web/app_dev.php/users/1.json Accept:application/json
它按预期返回id为1的用户的json数据表示形式:

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE
Cache-Control: no-cache
Content-Type: application/json
Date: Fri, 29 Nov 2013 20:15:43 GMT
Server: Apache/2.2.22 (Ubuntu)
Set-Cookie: PHPSESSID=n8o72oq61isruuov1bqgc9udf5; path=/
Transfer-Encoding: chunked
X-Debug-Token: 6c3818
X-Powered-By: PHP/5.3.10-1ubuntu3.8

{
     "id": 1, 
        "last_name": "Robinson", 
        "first_name": "Jack", 
         ....More data truncated ...
}
在我的浏览器中,我可以通过以下方式获得相同的结果:http://serveripaddress/web/app_dev.php/users/1.json 在地址栏中。如何使iOS应用程序发送相同的请求?我想我需要的唯一更改是在symfony2代码中接受请求?请给出一个简单的例子,我可以从这个例子中找出其余的

编辑了更多细节:

只是想澄清一下,我需要的是如何启动到服务器端REST Symfony2应用程序的连接。同样,我以前在使用本机PHP时也这样做过,但如何连接到Symfony2路由?在使用本机版本时,我所做的是构造一个字典,其中ObjectAndKeys在PHP端传递命令的键值对,参数作为JSON,服务器端返回JSON数据响应和成功或失败,简单明了。如果我使用Symfony2,我想命令现在已经变成了一条路径,那么如何做到这一点呢?我正在使用AFNetworking,iOS客户端上的所有内容都不需要更改,除了连接到Symfony2的部分。请举个例子给我一个具体的图片。

你可以举个例子。它是一个完整的框架,允许您使用web服务等


顺便说一句,您可以简单地使用并启动NSURLRequest,但是如果您的应用程序与Web服务进行大量交互,我建议您使用AFNetworking。相信我,如果你想在iOS上制作应用程序,你真的想知道如何使用它。我认为绑定到会话和cookie可能会违反REST的本质。我强烈建议您使用WSSE之类的工具。您可以使用WSSE。或者创造你自己的。 还有一个很有用的链接,可以深入潜水:


是的,我已经在使用AFNetworking了,目前它正完美地满足我的需要。您能否举例说明如何连接到名为“get_some_data”的示例路由,该路由使用param1、param2作为参数?您能否举例说明身份验证时从iOS应用程序到Symfony2应用程序的实际连接?假设Symfony端的路由是user_login,以用户名和密码作为参数,那么我应该如何将其传递给Symfony2并以JSON的形式获得成功或失败响应?在将请求发送到api之前,您不需要进行身份验证。每次通过symfony firewall上的特殊wsse头对api的请求进行身份验证。询问身份验证只是一个示例,我需要的是一个示例,说明如何从客户端(例如从iOS或Java甚至JS)向REST Symfony2应用程序发送请求,我需要的只是一个示例。你能举个例子吗?它可以是任何示例,不一定是auth,只是一个示例,我可以研究并找出如何继续处理我的特定场景。