2015-05-19 15:09:19 21853次浏览 3条回答 5 悬赏 0 金钱

请教大家一个问题,目前我给app写接口,输出的格式是像下面那样的:
php代码:

$data = array(
            array('id' => 1, 'name' => '你好!'),
            array('id' => 2, 'name' => '我很好!')
        );
echo json_encode(array('ret' => 0, 'msg' => '操作成功', 'data' => $data));

输出的格式:

{
    "ret": 0,
    "msg": "操作成功",
    "data": [
        {
            "id": 1,
            "name": "你好!"
        },
        {
            "id": 2,
            "name": "我很好!"
        }
    ]
}

我如果用yii写的话,是不是就应该像这样?还是用 restful ?如果用 restful 的话该怎么输出?

php代码

$data = array(
            array('id' => 1, 'name' => '你好!'),
            array('id' => 2, 'name' => '我很好!')
        );
echo Json::encode(array('ret' => 0, 'msg' => '操作成功', 'data' => $data));

输出代码:

{
    "ret": 0,
    "msg": "操作成功",
    "data": [
        {
            "id": 1,
            "name": "你好!"
        },
        {
            "id": 2,
            "name": "我很好!"
        }
    ]
}
  • 回答于 2015-05-19 16:29 举报

    我之前写过简单跟APP对接的,因为APP走的是接口,所以我想的是你直接echo输出json格式的东西就行了,在本地开发推荐你一个chrome的插件,可以模仿APP去访问"dev http client"

  • 回答于 2015-05-19 17:05 举报

    RESTFul只要输出数组就可以了。ActiveController会根据客户端的http头的Accept属性,返回json,或者xml等等。

    有一些浏览器插件,比如chrome的postman,可初步调试接口。最靠谱的调试还是推荐用curl命令:

    curl -H "Accept:application/json" http://.../api/v1/tests
    curl -H "Accept:application/xml" http://.../api/v1/tests/1,  //id为1的记录
    
    1 条回复
    回复于 2017-02-10 12:00 回复

    贊农民一个,直接社会自json或者xml,return,自然就会返回你需要的数据格式了,

    觉得很赞
  • 回答于 2015-05-22 09:01 举报

    很明显要用restful啊,为啥要自己写。模型配置对了,直接就能完成增删改查的接口。

    2 条回复
    回复于 2015-08-19 14:58 回复

    restful 确实很容易实现crud的接口,但是Authentication认证总是报401的错误。

    回复于 2017-02-10 12:01 回复

    那应该是,登陆的时候,ID类的那个权限,没弄好吧

您需要登录后才可以回答。登录 | 立即注册
word1018808441
CEO

word1018808441 重庆

注册时间:2015-03-24
最后登录:2018-07-04
在线时长:629小时49分
  • 粉丝49
  • 金钱7395
  • 威望40
  • 积分14085

热门问题