我正在开发一个PHP restful API,它返回一个JSON响应。目前这适用于原生移动应用消费(iOS / Android)。
我的问题是,是否可以使用相同的Restful API进行网站消费?或者我是否需要支持来自restful API以及JSON的HTML响应?如何从Web服务获取JSON响应以显示为网页?或者我是否需要将输出格式化程序作为框架的一部分来实现,以便在需要时作为HTML进行响应?
我试图搜索这个问题的答案,但我找不到任何有用的答案。
答案 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应该放在分离的主机上。因为这是不同的应用程序。