Я прохожу учебные примеры Рестлера здесь: 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 / данные / BMI это дает XML, а не JSON.
Я должен был пойти в /api/data/bmi.json чтобы получить формат JSON. не ‘JsonFormat’ первый параметр для setSupportedFormats () здесь? Почему JSON не является форматом по умолчанию? Как сделать это по умолчанию?
Я думаю, вы пытались вызвать API с помощью веб-браузера. Браузер отправляет заголовок принятия, где принимаются html и xml, поэтому xml отображается по умолчанию. Попробуйте вызвать его без заголовка accept, используя curl
Я всегда получаю вывод JSON, просто помещая эту строку в мой index.php:
use Luracast\Restler\Format\JsonFormat;