我需要将我的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
自动隐含。
答案 0 :(得分:1)
最简单的方法是使用Accept
HTTP标头提交所需的格式。例如,Accept: x-htsql/json
应该为您提供JSON输出。
您也可以更改默认输出格式,但它相当繁琐:您需要创建一个HTSQL插件并覆盖htsql.core.fmt.emit.EmitDefault
扩展名。也许,您可以通过热修补此类来绕过创建插件。