2016-09-13 4 views
0

Мне нужно настроить сервер HTSQL на работу в качестве сервера API JSON, возвращая выходные данные в формате JSON по умолчанию, а не только при выполнении запроса /:json. Есть ли способ сделать это?Изменить выходной формат HTSQL по умолчанию

Причина: Мне нужно отправить запросы, сформулированные программным обеспечением, которое автоматически помещает параметры (?foo='bar'&baz='moo') на конце в URL, но HTSQL только распознает формат вывод спецификатор как /:json когда это приходит на абсолютном конец URL-адреса, после параметров. Я не знаю, как создавать такие URL-адреса без утомительной и подверженной ошибкам прямой обработки всего URL-адреса.

Другими словами, HTSQL требует, чтобы URLS выглядят как

/mytable?col1='val1'&col2='val2'/:json 

, но я не могу поставить /:json после параметров, поэтому я ищу способ иметь /:json автоматически подразумеваться.

ответ

1

Самый простой способ сделать это - отправить желаемый формат с помощью HTTP-заголовка Accept. Например, Accept: x-htsql/json должен предоставить вам выход JSON.

Вы также можете изменить выходной формат по умолчанию, но это довольно утомительно: вам нужно создать аддон HTSQL и переопределить расширение htsql.core.fmt.emit.EmitDefault. Возможно, вы можете обойти создание аддона путем горячего исправления этого класса.

Смежные вопросы