Passing SET into a query through REST API

I have a Query defined to receive a SET of strings as a parameter:

CREATE QUERY createCaseInvitation(VERTEX<ProblemCase> keyProblemCase, SET<STRING> helpersSet) FOR GRAPH SimplifyPilotADEV SYNTAX V1 { 

  FOREACH h IN helpersSet DO

  END;
}

This is in Graph Studio, version 3.5.3.

I’m calling my queries from an Angular program, passing the parameters in the following syntax:

let httpBody = {
      'queryName': queryName,
      'queryParams': queryParams
    }

    return this.http.post<any>(this.baseUrl, httpBody, {
      headers: httpHeaders
    }).pipe(
      catchError(this.errorHandler)
    );

The above works fine for many queries, not requiring any SET as a parameter.

I have tried to pass the SET of string in many ways, starting with the obvious array: [β€œH1”,β€œH2”, β€œH3”]
Tried enclosing the strings in parenthesis: (β€œH1”,β€œH2”, β€œH3”)
Tried as GET params: helpersSet=H1&helpserSet=H2

Nothing works.

Is there a way to pass a SET of strings at all, or should I not use SET?
If I can’t use SET, how would you do this instead? Number of strings to be passed vary.

Thanks!

I did manage to get it to work by passing GET-like strings as shown here, as the parameter.

2 Likes

Thanks for sharing the solution, @morsagmon! :tiger: