C’è un bug nell’API di Discourse quando si eseguono query di Data Explorer contenenti parametri (entrambe le query di seguito funzionano come previsto quando vengono eseguite dal browser).
Seguendo le istruzioni da Run Data Explorer queries with the Discourse API e utilizzando
-F 'params={\"group_id\":\"64\"}'
per eseguire questa query (che ha un parametro senza il suo valore predefinito impostato)
-- [params]
-- int :group_id
select id, name from groups
where id = :group_id
risulta in un errore: {\"success\":false,\"errors\":[\"DataExplorer::ValidationError: Missing parameter group_id of type int\"]}
Quando una query ha un parametro con il suo valore predefinito impostato, la chiamata API ha successo, ma il risultato è lo stesso indipendentemente dal valore fornito tramite -F 'params=
-- [params]
-- int :group_id = 2
select id, name from groups
where id = :group_id
-F 'params={\"group_id\":\"64\"}'
e restituisce sempre il risultato per il valore predefinito del parametro: {\"success\":true,\"errors\":[],\"duration\":0.2,\"result_count\":1,\"params\":{},\"columns\":[\"id\",\"name\"],\"default_limit\":1000,\"relations\":{},\"colrender\":{},\"rows\":[[2,\"moderators\"]]}