PHP rest API返回网页的JSON

时间:2015-12-25 17:42:52

标签: php html web-services rest

我正在开发一个PHP restful API,它返回一个JSON响应。目前这适用于原生移动应用消费(iOS / Android)。

我的问题是,是否可以使用相同的Restful API进行网站消费?或者我是否需要支持来自restful API以及JSON的HTML响应?如何从Web服务获取JSON响应以显示为网页?或者我是否需要将输出格式化程序作为框架的一部分来实现,以便在需要时作为HTML进行响应?

我试图搜索这个问题的答案,但我找不到任何有用的答案。

2 个答案:

答案 0 :(得分:0)

您可以使用XSL构造HTML

创建返回XML和XML的API

此链接会有所帮助:

http://www.htmlgoodies.com/beyond/xml/converting-xml-to-html-using-xsl.html

答案 1 :(得分:0)

嗯...作为理论,例如你可以这样做:

class MyOutput
{
    const CTX_HTML = 1;
    const CTX_JSON = 2;
    //const CTX_XML = 3;
    //const CTX_CLI = 4;
    //const CTX_ETC = N;

    private $_data = null;

    public function __construct()
    {
        $this->_data = new StdClass();
    }
    public function __set($prop, $value)
    {
        $this->_data->{$prop} = $value;
    }
    public function render($context)
    {
        if ($context == self::CTX_JSON) {
            header('Content-Type: application/json');
            echo json_encode($this->_data);
        } else {
            header('Content-Type: text/html');
            // TODO extract/pass data into layout/template
        }
    }
}


$Output = new MyOutput();

$Output->foo = 1;
$Output->bar = 2;
$Output->render(MyOutput::CTX_JSON);
$Output->render(MyOutput::CTX_HTML);

但我认为API应该放在分离的主机上。因为这是不同的应用程序。