diff options
author | mdway <romangraef@gmail.com> | 2017-06-08 18:46:01 +0200 |
---|---|---|
committer | mdway <romangraef@gmail.com> | 2017-06-08 18:46:01 +0200 |
commit | a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6 (patch) | |
tree | 9ae5a56bf3a4e1dff2c38ac27648ddf649340edc /src/java/de/romjaki | |
parent | 2ca153797939ba5429b02905fb77d85ed38be9af (diff) | |
download | icndbwrapper-a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6.tar.gz icndbwrapper-a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6.tar.bz2 icndbwrapper-a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6.zip |
Diffstat (limited to 'src/java/de/romjaki')
-rw-r--r-- | src/java/de/romjaki/icndbwrapper/ICNDB.java | 8 | ||||
-rw-r--r-- | src/java/de/romjaki/icndbwrapper/JokeSchematic.java | 14 | ||||
-rw-r--r-- | src/java/de/romjaki/icndbwrapper/RestAction.java | 8 |
3 files changed, 26 insertions, 4 deletions
diff --git a/src/java/de/romjaki/icndbwrapper/ICNDB.java b/src/java/de/romjaki/icndbwrapper/ICNDB.java index 33a669c..8dbc748 100644 --- a/src/java/de/romjaki/icndbwrapper/ICNDB.java +++ b/src/java/de/romjaki/icndbwrapper/ICNDB.java @@ -1,12 +1,18 @@ package de.romjaki.icndbwrapper; +import java.util.HashMap; +import java.util.Map; + public class ICNDB { public ICNDB() { } - public RestAction<Joke> getRandomJoke() { + public static final String API_URL = "api.icndb.com/"; + public RestAction<Joke> getRandomJoke() { + Map<String, String> map = new HashMap<>(); + return new RestAction<>(new JokeSchematic(), "jokes/random", map); } } diff --git a/src/java/de/romjaki/icndbwrapper/JokeSchematic.java b/src/java/de/romjaki/icndbwrapper/JokeSchematic.java new file mode 100644 index 0000000..d165f72 --- /dev/null +++ b/src/java/de/romjaki/icndbwrapper/JokeSchematic.java @@ -0,0 +1,14 @@ +package de.romjaki.icndbwrapper; + +/** + * Created by RGR on 08.06.2017. + */ +public class JokeSchematic extends GsonSchematic<Joke> { + + public Joke value; + + @Override + public Joke result() { + return value; + } +} diff --git a/src/java/de/romjaki/icndbwrapper/RestAction.java b/src/java/de/romjaki/icndbwrapper/RestAction.java index 65150f9..ece8e1b 100644 --- a/src/java/de/romjaki/icndbwrapper/RestAction.java +++ b/src/java/de/romjaki/icndbwrapper/RestAction.java @@ -1,12 +1,12 @@ package de.romjaki.icndbwrapper; import com.google.gson.Gson; -import sun.misc.IOUtils; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; +import java.util.Scanner; import java.util.function.Consumer; @@ -23,11 +23,13 @@ public class RestAction<T> { } public static String executeRequest(String url, Map<String, String> parameters, String method) throws IOException { - HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection(); + HttpURLConnection con = (HttpURLConnection) new URL(ICNDB.API_URL + url).openConnection(); con.setRequestMethod(method); con.setUseCaches(false); parameters.forEach(con::addRequestProperty); - return String.valueOf(IOUtils.readFully(con.getInputStream(), -1, true)); + Scanner s = new Scanner(con.getInputStream()); + s.useDelimiter("\\A"); + return s.next(); } public Thread queue() { |