All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.jsone_studios.wrapper.spotify.services.AlbumsSpotifyService Maven / Gradle / Ivy

The newest version!
package de.jsone_studios.wrapper.spotify.services;

import de.jsone_studios.wrapper.spotify.models.Track;
import de.jsone_studios.wrapper.spotify.models.Album;
import de.jsone_studios.wrapper.spotify.models.Albums;
import de.jsone_studios.wrapper.spotify.models.Pager;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;

import java.util.Map;

public interface AlbumsSpotifyService
{
    /**
     * Get Spotify catalog information for a single album.
     *
     * @param albumId The Spotify ID for the album.
     * @return Requested album information
     * @see Get an Album
     */
    @GET("albums/{id}")
    Call getAlbum(@Path("id") String albumId);

    /**
     * Get Spotify catalog information for a single album.
     *
     * @param albumId The Spotify ID for the album.
     * @param options Optional parameters. For list of supported parameters see
     *                endpoint documentation
     * @return Requested album information
     * @see Get an Album
     */
    @GET("albums/{id}")
    Call getAlbum(@Path("id") String albumId, @QueryMap Map options);

    /**
     * Get Spotify catalog information about an album’s tracks.
     *
     * @param albumId The Spotify ID for the album.
     * @return List of simplified album objects wrapped in a Pager object
     * @see Get an Album’s Tracks
     */
    @GET("albums/{id}/tracks")
    Call> getAlbumTracks(@Path("id") String albumId);

    /**
     * Get Spotify catalog information about an album’s tracks.
     *
     * @param albumId The Spotify ID for the album.
     * @param options Optional parameters. For list of supported parameters see
     *                endpoint documentation
     * @return List of simplified album objects wrapped in a Pager object
     * @see Get an Album’s Tracks
     */
    @GET("albums/{id}/tracks")
    Call> getAlbumTracks(@Path("id") String albumId, @QueryMap Map options);

    /**
     * Get Spotify catalog information for multiple albums identified by their Spotify IDs.
     *
     * @param albumIds A comma-separated list of the Spotify IDs for the albums. Maximum: 20 IDs.
     * @return Object whose key is "albums" and whose value is an array of album objects.
     * @see Get Several Albums
     */
    @GET("albums")
    Call getAlbums(@Query("ids") String albumIds);

    /**
     * Get Spotify catalog information for multiple albums identified by their Spotify IDs.
     *
     * @param albumIds A comma-separated list of the Spotify IDs for the albums. Maximum: 20 IDs.
     * @param options  Optional parameters. For list of supported parameters see
     *                 endpoint documentation
     * @return Object whose key is "albums" and whose value is an array of album objects.
     * @see Get Several Albums
     */
    @GET("albums")
    Call getAlbums(@Query("ids") String albumIds, @QueryMap Map options);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy