I’m confused about how to acquire APPLICATION_FORM_URLENCODED constant when integrating Mailgun with Play Framework. Below is a revised code snippet demonstrating the method.
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.MultivaluedMapImpl;
import com.sun.jersey.api.client.ClientResponse;
import javax.ws.rs.core.MediaType;
public class MailIntegrationDemo {
public static void main(String[] args) {
Client connection = Client.create();
connection.addFilter(new HTTPBasicAuthFilter("api", "new-api-key"));
WebResource listResource = connection.resource("https://api.mailgun.net/v3/lists");
MultivaluedMapImpl listPayload = new MultivaluedMapImpl();
listPayload.add("address", "[email protected]");
listPayload.add("description", "Demo Mailgun list");
listResource.type(MediaType.APPLICATION_FORM_URLENCODED)
.post(ClientResponse.class, listPayload);
WebResource memberResource = connection.resource("https://api.mailgun.net/v3/lists/[email protected]/members");
MultivaluedMapImpl memberPayload = new MultivaluedMapImpl();
memberPayload.add("address", "[email protected]");
memberPayload.add("subscribed", true);
memberPayload.add("name", "User");
memberPayload.add("description", "Demo member");
memberPayload.add("vars", "{\"age\":30}");
ClientResponse response = memberResource.type(MediaType.APPLICATION_FORM_URLENCODED)
.post(ClientResponse.class, memberPayload);
System.out.println("Response: " + response.getEntity(String.class));
}
}