Highlighted

Graphql Client API in AEM Java | AEM Community Blog Seeding

Avatar

Avatar

kautuk_sahni

Community Manager

Total Posts

5.6K

Likes

969

Correct Answer

1.1K

Avatar

kautuk_sahni

Community Manager

Total Posts

5.6K

Likes

969

Correct Answer

1.1K
kautuk_sahni
Community Manager

25-10-2020

BlogImage.jpg

Graphql Client API in AEM Java by AEM Queries & Solutions

Abstract

Today lets see how we can make a graphql call from our AEM Java servlet to magento server and get the response.

In my previous article we saw how to call a servlet using resourceType. So same way we will create a servlet using resourceType and add the cq:graphqlClient – (String) – default property to the resource node.

Once we are done defining the client for that resource we will go to our servlet and get the client out of the request.

GraphqlClient graphqlClient = request.getResource().adaptTo(GraphqlClient.class);

Once I have the client object in place. We will now form the query(String) using com.adobe.cq.commerce.magento.graphql.Operations API or you can always define it as a simple String.

For example, we have a below query to get country codes:

String query = Operations.query(q -> q.countries(s -> s.id())).toString();

Now we will maintain a pojo class for the type of queries that we want to execute. So as in above case we want countries code. So we will define countries getters and setters in that class. Lets say we name that class as QueryType which will have below declaration with respective getters and setters.

public class QueryType{
private JsonElement countries;

public JsonElement getCountries() {
return countries;
}
public void setCountries(JsonElement countries) {
this.countries = countries;
}
}

Read Full Blog

Graphql Client API in AEM Java

Q&A

Please use this thread to ask the related questions.

AEM AEMEBlogSeeding Experience Manager