UweTrottmann / thetvdb-java

Unofficial TheTVDB.com API wrapper in Java written using retrofit2.
Apache License 2.0
18 stars 9 forks source link
java retrofit2 thetvdb tvdb-api

Note: No plan for further updates, e.g. to support API v4. If you want to maintain this repo, let me know!

thetvdb-java

TheTVDB.com REST API wrapper written in Java using retrofit.

Last tested to work with API version: 3.0.0

Supported endpoints

Usage

Available on Maven Central

Get via Gradle:

implementation 'com.uwetrottmann.thetvdb-java:thetvdb-java:2.4.0'

Or Maven:

<dependency>
    <groupId>com.uwetrottmann.thetvdb-java</groupId>
    <artifactId>thetvdb-java</artifactId>
    <version>2.4.0</version>
</dependency>

Use like any other retrofit based service. Automatically gets a JSON web token so you only need to supply your API key. For example:

TheTvdb theTvdb = new TheTvdb(API_KEY);
try {
    Response<SeriesResponse> response = theTvdb.series()
        .series(83462, "en")
        .execute();
    if (response.isSuccessful()) {
        Series series = response.body().data;
        System.out.println(series.seriesName + " is awesome!");
    }
} catch (Exception e) {
    // see execute() javadoc 
}

Android

This library ships Java 8 bytecode. This requires Android Gradle Plugin 3.2.x or newer.

Use Proguard, R8!

It is likely not every method in this library is used, so it is probably useful to strip unused ones with Proguard. Apply the Proguard rules for retrofit.

Due to R8 being very eager in stripping unused fields even if they are set by a constructor (like LoginData), prevent entities from getting optimized. Obviously they also should not be obfuscated.

-keep class com.uwetrottmann.thetvdb.entities.** { *; }

License

This work by Uwe Trottmann is licensed under the Apache License 2.0.

Contributors and changes are tracked by Git.

Do not just copy, make it better.