import java.util.List; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.core.GenericType; import javax.ws.rs.core.MediaType; import javax.ws.rs.ext.ContextResolver; import org.glassfish.jersey.moxy.json.MoxyJsonConfig; /** * Example of calling the EVE OpenAPI using Jersey 2.26. Specific Jersey components needed * include jersey-client 2.26, jersey-hk2 2.26, and jersey-media-moxy 2.26. */ public class EveOpenAPIExample { // variable names need to match names from the EVE OpenAPI private static class Region { private String region_id; private String name; private List<String> constellations; private String description; public String getRegion_id() { return region_id; } public void setRegion_id(String region_id) { this.region_id = region_id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<String> getConstellations() { return constellations; } public void setConstellations(List<String> constellations) { this.constellations = constellations; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } } public static void main(String[] args) { // setup the service information we will need for the example final String target = "https://esi.tech.ccp.is/latest/"; final String path = "universe/regions/{regionid}/"; final String regionId = "10000002"; final String dataSource = "tranquility"; // create the client configured to use MOXy for JSON binding final MoxyJsonConfig moxyJsonConfig = new MoxyJsonConfig(); final ContextResolverjsonConfigResolver = moxyJsonConfig.resolver(); Client client = ClientBuilder.newBuilder() .register(jsonConfigResolver).build(); // execute example call on EVE OpenAPI to read information on a region Region region = client.target(target) .path(path) .resolveTemplate("regionid", regionId) .queryParam("datasource", dataSource) .request(MediaType.APPLICATION_JSON_TYPE) .get(new GenericType<Region>(){}); // utilize the data System.out.println("Read information for region " + region.getName()); System.exit(0); } }
Eve blog with topics on anti-piracy, industry, and anything I think might make Eve a better place.
Monday, March 26, 2018
Calling EVE OpenAPI with Java
If you are into Java and want a quick example of a way you can read data from the EVE OpenAPI, here is an example I wrote using Jersey 2.26.
Subscribe to:
Post Comments (Atom)
Noone reads your shitty blog dude.
ReplyDelete