REST数据接口在同一个网站内如何进行访问? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

REST数据接口在同一个网站内如何进行访问?

杨冬芳 2016-06-14 14:36:02 1754

新学网络编程 很多概念不是很明白。

现在做网站服务器都提倡尽量实现REST接口。
我理解REST的作用就是给跨平台或者外部访问数据带来了便利。

但是我自己的网站呢?
比方说我有这样的一个REST接口
GET /posts (返回json)
而我自己的网站中有一个对应的视图
GET /posts/show (返回html页面)

视图的作用就是布局显示/posts的内容
但是REST接口是用http请求来获取值的
我怎么才能在/posts/show里获取/posts的数据?

JSON 网络架构 数据格式
分享到
取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:37:40

    不是太确定你想实现的效果,假设你要做的是这个事情:

    1. GET http://xxx.xx/posts 返回json格式的post数据
    2. GET http://xxx.xx/posts/show 返回关于post的html页面
      因为2的数据实际上和1的数据内容一样,只是展示方式不一样。所以你觉得应该在2页面请求1,然后用html格式展示。这样做无疑是浪费了网络资源,所以应该有更好的方法。

    基于以上假设,可以通过以下办法解决问题:
    采用 MVC 的方式封装代码,将数据层、控制层、视图层分离。简单来说,将获取 post 数据部分的代码封装(可以是一个类、一个函数、一个代码包),然后在不同的控制层调用这个封装,使用不同的方法展示数据。一个简单的 php 伪代码示例

    function getPosts() {
        $sql = "SELECT * FROM `table_post` ....";
        $data = $db->getAll($sql);//从数据库获取记录
        return $data;
    }
    
    //在/posts/index.php 中
    $posts = getPosts();
    echo json_encode($posts);
    exit;
    
    //在/posts/show/index.php中
    $posts = getPosts();
    require('path/to/template/posts.html');
    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题