Skip to content

Commit

Permalink
added asynchronous API examples
Browse files Browse the repository at this point in the history
  • Loading branch information
faob-dev committed Mar 29, 2018
1 parent 6e9bb77 commit 3f37e3b
Showing 1 changed file with 162 additions and 2 deletions.
164 changes: 162 additions & 2 deletions README.md
Expand Up @@ -16,7 +16,7 @@ Maven:
<dependency>
<groupId>io.faob</groupId>
<artifactId>utopian-java</artifactId>
<version>0.1.0</version>
<version>0.2.0</version>
</dependency>
</dependencies>
```
Expand All @@ -27,7 +27,7 @@ repositories {
}
dependencies {
compile 'io.faob:utopian-java:0.1.0'
compile 'io.faob:utopian-java:0.2.0'
}
```
# Synchronous API examples #
Expand Down Expand Up @@ -133,8 +133,168 @@ for (JsonElement result : results) {
System.out.println(result.getAsJsonObject().get("_id").getAsString());
}
```
# Asynchronous API examples #
#### 1. Get all moderators and print their names
``` Java
service
.moderators()
.getAsync(moderatorsJson -> {
System.out.println("Total moderators: " + moderatorsJson.get("total"));

JsonArray results = moderatorsJson.get("results").getAsJsonArray();
for (JsonElement result : results) {
System.out.println(result.getAsJsonObject().get("account").getAsString());
}
}, e -> {
e.printStackTrace();
});
```
#### 2. Get all sponsors and print their names
``` Java
service
.sponsors()
.getAsync(sponsorsJson -> {
System.out.println("Total sponsors: " + sponsorsJson.get("total"));
JsonArray results = sponsorsJson.get("results").getAsJsonArray();
for (JsonElement result : results) {
System.out.println(result.getAsJsonObject().get("account").getAsString());
}
}, e -> {
e.printStackTrace();
});
```
#### 3. Get stats and print them
``` Java
service
.stats()
.getAsync(statsJson -> {
JsonObject stats = statsJson.get("stats").getAsJsonObject();
System.out.println(stats);
}, e -> {
e.printStackTrace();
});
```
#### 4. Get specific moderator and access its properties
``` Java
service
.moderator("espoem")
.getAsync(moderatorJson -> {
if (moderatorJson.size() != 0)
System.out.println(moderatorJson.get("account").getAsString());
}, e -> {
e.printStackTrace();
});
```
#### 5. Get specific sponsor and access its properties
``` Java
service
.sponsor("freedom")
.getAsync(sponsorJson -> {
if (sponsorJson.size() != 0)
System.out.println(sponsorJson.get("account").getAsString());
}, e -> {
e.printStackTrace();
});
```
#### 6. Get first 50 posts titles in All category
``` Java
service
.posts(new HashMap<>())
.getAsync(postsJson -> {
JsonArray results = postsJson.get("results").getAsJsonArray();
for (JsonElement result : results) {
System.out.println(result.getAsJsonObject().get("title").getAsString());
}
}, e -> {
e.printStackTrace();
});
```
#### 7. Get first 5 posts titles in Tutorials category
``` Java
Map<String, Object> filterOptions = new HashMap<>();
filterOptions.put("sortBy", "created");
filterOptions.put("type", "tutorials");
filterOptions.put("limit", 5);

service
.posts(filterOptions)
.getAsync(postsJson -> {
JsonArray results = postsJson.get("results").getAsJsonArray();
for (JsonElement result : results) {
System.out.println(result.getAsJsonObject().get("title").getAsString());
}
}, e -> {
e.printStackTrace();
});
```
#### 8. Get specific post and print moderator of this post
``` Java
service
.post("kabooom", "building-and-using-multiple-android-shared-libraries")
.getAsync(postJson -> {
System.out.println(postJson.get("moderator").getAsString());
}, e -> {
e.printStackTrace();
});
```
#### 9. Get total posts count
``` Java
service
.totalPostsCount()
.getAsync(count -> {
System.out.println("Total posts count: " + count);
}, e -> {
e.printStackTrace();
});
```
#### 10. Get post url
``` Java
service
.postURL("38068955")
.getAsync(url -> {
System.out.println("URL of post: " + url);
}, e -> {
e.printStackTrace();
});
```
#### 11. Get all posts by specific author
``` Java
service
.postByAuthor("kabooom", new HashMap<>())
.getAsync(postsJson -> {
JsonArray results = postsJson.get("results").getAsJsonArray();
for (JsonElement result : results) {
System.out.println(result.getAsJsonObject().get("title").getAsString());
}
}, e -> {
e.printStackTrace();
});
```
#### 12. Get posts done on github repo "java-native-access/jna"
``` Java
service
.postsByGithubProject("java-native-access/jna", new HashMap<>())
.getAsync(postsJson -> {
JsonArray results = postsJson.get("results").getAsJsonArray();
for (JsonElement result : results) {
System.out.println(result.getAsJsonObject().get("title").getAsString());
}
}, e -> {
e.printStackTrace();
});
```
#### 13. Get top projects
``` Java
service
.topProjects(new HashMap<>())
.getAsync(results -> {
for (JsonElement result : results) {
System.out.println(result.getAsJsonObject().get("_id").getAsString());
}
}, e -> {
e.printStackTrace();
});
```

# Author #

Expand Down

0 comments on commit 3f37e3b

Please sign in to comment.