在Resetler中设置JSON为默认格式


Make JSON the default format in Resetler?

我在这里浏览Restler的教程示例:http://restler3.luracast.com/examples/_003_multiformat/readme.html

而它声明:

使用Restler::setSupportedFormats中指定的第一个格式客户端未指定格式时的默认格式。

我发现这不是真的。当我有:

use Luracast'Restler'Restler;
$r = new Restler();
$r->setSupportedFormats('JsonFormat', 'XmlFormat');
$r->addAPIClass('BMI', '/api/data/bmi');
$r->handle();

这与示例页面上给出的代码完全相同,但是当我访问/api/data/bmi时,它给出XML而不是JSON。

我必须去/api/data/bmi。json获取json格式。'JsonFormat'是setSupportedFormats()的第一个参数吗?为什么JSON不是默认格式?如何使其成为默认值?

我猜你已经尝试过使用web浏览器调用api。浏览器发送一个接受头,其中html和xml被接受,这就是为什么xml被默认呈现。尝试使用curl

调用没有accept标头的对象

我总能得到JSON输出只需要将这一行放到index。php中:

use Luracast'Restler'Format'JsonFormat;