我有一个正在运行并且能够连接到 RESTful PHP Web 服务的 iOS 应用程序。该网络服务最初是用原生 PHP 构建的,现在我将它迁移到 Symfony2 网络服务。在 iOS 端,我以 JSON 格式发送请求,服务器处理数据并返回 JSON 响应数据,一切正常。
现在,我的 symfony2 网络服务能够对使用 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 路由?在使用本机版本时,我所做的是构造一个字典WithObjectandKeys,将命令的键值对(在PHP端)和参数作为JSON传递,并让服务器端返回JSON数据响应和成功或失败,简单明了. 如果我使用 Symfony2,我猜这些命令现在变成了一条路线,怎么办?我正在使用 AFNetworking,iOS 客户端上的所有内容都不需要更改,除了我连接到 Symfony2 的部分。请举个例子给我一个具体的图片。