Created
August 19, 2016 19:26
-
-
Save mosampaio/f6592f9664e878d03d279cfd68aa6184 to your computer and use it in GitHub Desktop.
How to consume a json Rest API with Java using Jersey
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apply plugin: 'java' | |
repositories { | |
jcenter() | |
} | |
dependencies { | |
compile 'com.sun.jersey:jersey-client:1.19' | |
compile 'com.sun.jersey:jersey-json:1.19' | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.sun.jersey.api.client.Client; | |
import com.sun.jersey.api.client.ClientResponse; | |
import com.sun.jersey.api.client.WebResource; | |
import com.sun.jersey.api.client.config.ClientConfig; | |
import com.sun.jersey.api.client.config.DefaultClientConfig; | |
import com.sun.jersey.api.json.JSONConfiguration; | |
import org.codehaus.jackson.annotate.JsonCreator; | |
import org.codehaus.jackson.annotate.JsonIgnoreProperties; | |
import org.codehaus.jackson.annotate.JsonProperty; | |
import java.util.List; | |
import static java.util.Arrays.asList; | |
public class JerseyLibrary { | |
@JsonIgnoreProperties(ignoreUnknown = true) | |
static class Contributor { | |
String login; | |
int contributions; | |
@JsonCreator | |
Contributor(@JsonProperty("login") String login, @JsonProperty("contributions") int contributions) { | |
this.login = login; | |
this.contributions = contributions; | |
} | |
public String toString() { return login + " (" + contributions + ")"; } | |
} | |
public static void main(String[] args) { | |
ClientConfig clientConfig = new DefaultClientConfig(); | |
clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE); | |
Client client = Client.create(clientConfig); | |
String url = "https://api.github.com/repos/twilio/twilio-java/contributors"; | |
WebResource webResource = client.resource(url); | |
ClientResponse response = webResource.accept("application/json").get(ClientResponse.class); | |
List<Contributor> contributors = asList(response.getEntity(Contributor[].class)); | |
contributors.stream().forEach(System.out::println); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment