OMDbAPI.com Client for Kotlin
To begin, import the library using jitpack.io.
You can include jitpack in your pom.xml
by adding the following jitpack repository:
<repository> <id>jitpack.io</id> <url>https://www.jitpack.io</url> </repository>
Then add this omdb-kotlin
dependency to your pom.xml
project!
<dependency> <groupId>com.github.official-wizard</groupId> <artifactId>omdb-kotlin</artifactId> <version>1.0.0</version> </dependency>
val credentials = Credentials("<web api key>") val api: OmdbInterface = OmdbClient(credentials).api // access the api interface in `api`
Search Title (or imdb ID)
A call to this function will retrieve a single result for the provided title or Imdb ID
Available Parameters
NOTE: Although
Title
andImdbId
are optional, at least 1 of them is required!
Name | Type | Description | Example | OPTIONAL |
---|---|---|---|---|
title | String | The name of the film you'd like to search for. | Demons | yes |
imdbId | String | The imdb ID for the film you'd like to search for. | tt0089013 | yes |
type | QueryType | The type of film you'd like to search for (Movie, Series, Episode) | QueryType.movie | yes |
yearOfRelease | String | The year the film was released | 1985 | yes |
plot | Plot | Short or full plot. | Plot.short | yes |
Example
val credentials = Credentials("<web api key>") val api: OmdbInterface = OmdbClient(credentials).api val response: NetworkResponse<Search.Response, Error.Response> = api.searchTitle( title = "Demons" ) if (response is NetworkResponse.Success) { // handle the data val searchResult: Search.Response = response.body } else if (response is NetworkResponse.Error) { // if the server returns an error it be found here val errorResponse: Error.Response? = response.body // if the api (locally) had an internal error, it'll be found here val internalError: Throwable? = response.error }
Search List
A call to this function will retrieve a list of results for the provided title
Available Parameters
Name | Type | Description | Example | OPTIONAL |
---|---|---|---|---|
title | String | The name of the film you'd like to search for. | Demons | no |
type | QueryType | The type of film you'd like to search for (Movie, Series, Episode) | QueryType.movie | yes |
yearOfRelease | String | The year the film was released | 1985 | yes |
page | Int | The page number to search through. | Plot.short | yes |
Example
val credentials = Credentials("<web api key>") val api: OmdbInterface = OmdbClient(credentials).api val response: NetworkResponse<SearchList.Response, Error.Response> = api.searchList( title = "Demons" ) if (response is NetworkResponse.Success) { // handle the data val searchResult: SearchList.Response = response.body } else if (response is NetworkResponse.Error) { // if the server returns an error it be found here val errorResponse: Error.Response? = response.body // if the api (locally) had an internal error, it'll be found here val internalError: Throwable? = response.error }