I’m using a Table with Filters to build a request for my Open API endpoint. Each filter is a query parameter in my endpoint.
On my Open API Request action, I’m passing the value of my filters in to the query params like
{{ui.tableName.filters.filterName}}
If a filter isn’t set, {{ui.tableName.filters.filterName}}
is null
. This gets sent to my API though as a string containing the word “null” itself.
Is there a way to make optional query params not get parsed into the query string if their value is null
?
Hi @travis_s,
I’m afraid such dynamic queries won’t work with Open API data source (as it has no JS mode for query params) 
The only workaround I see at the moment is an HTTP API step for such cases, where you can enable JS mode for params and generate them dynamically like this:
const queryParams = {};
if ({{ui.tableName.filters.id}} !== "") {
queryParams.user_id = {{ui.tableName.filters.id}};
}
if ({{ui.tableName.filters.role}} !== undefined) {
queryParams.status = {{ui.tableName.filters.role}};
}
if ({{ui.tableName.filters.status}} !== null) {
queryParams.status = {{ui.tableName.filters.status}};
}
return queryParams;
1 Like