更改默认的HTSQL输出格式

时间:2016-09-13 15:44:35

标签: htsql

我需要将我的HTSQL服务器设置为JSON API服务器,默认情况下返回JSON格式的输出,不仅在查询后跟/:json时。有没有办法做到这一点?

原因:我需要发送由软件制定的查询,这些查询会自动将参数(?foo='bar'&baz='moo')放在URL的 end ,但HTSQL只识别输出格式说明符,如{ {1}}当位于URL的绝对末尾时,参数之后。我不知道如何构建这样的URL,而不需要繁琐且容易出错的直接操作整个URL。

换句话说,HTSQL要求URLS看起来像

/:json

但我无法将/mytable?col1='val1'&col2='val2'/:json 放在参数之后,因此我正在寻找一种方法让/:json自动隐含。

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用Accept HTTP标头提交所需的格式。例如,Accept: x-htsql/json应该为您提供JSON输出。

您也可以更改默认输出格式,但它相当繁琐:您需要创建一个HTSQL插件并覆盖htsql.core.fmt.emit.EmitDefault扩展名。也许,您可以通过热修补此类来绕过创建插件。