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

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

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

import de.jsone_studios.wrapper.spotify.models.*;
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 ArtistsSpotifyService
{
    /**
     * Get Spotify catalog information for a single artist identified by their unique Spotify ID.
     *
     * @param artistId The Spotify ID for the artist.
     * @return Requested artist information
     * @see Get an Artist
     */
    @GET("artists/{id}")
    Call getArtist(@Path("id") String artistId);

    /**
     * Get Spotify catalog information about an artist’s albums.
     *
     * @param artistId The Spotify ID for the artist.
     * @return An array of simplified album objects wrapped in a paging object.
     * @see Get an Artist's Albums
     */
    @GET("artists/{id}/albums")
    Call> getArtistAlbums(@Path("id") String artistId);

    /**
     * Get Spotify catalog information about an artist’s albums.
     *
     * @param artistId The Spotify ID for the artist.
     * @param options  Optional parameters. For list of supported parameters see
     *                 endpoint documentation
     * @return An array of simplified album objects wrapped in a paging object.
     * @see Get an Artist's Albums
     */
    @GET("artists/{id}/albums")
    Call> getArtistAlbums(@Path("id") String artistId, @QueryMap Map options);

    /**
     * Get Spotify catalog information about an artist’s top tracks by country.
     *
     * @param artistId The Spotify ID for the artist.
     * @param country  The country: an ISO 3166-1 alpha-2 country code.
     * @return An object whose key is "tracks" and whose value is an array of track objects.
     * @see Get an Artist’s Top Tracks
     */
    @GET("artists/{id}/top-tracks")
    Call getArtistTopTrack(@Path("id") String artistId, @Query("country") String country);

    /**
     * Get Spotify catalog information about artists similar to a given artist.
     *
     * @param artistId The Spotify ID for the artist.
     * @return An object whose key is "artists" and whose value is an array of artist objects.
     * @see Get an Artist’s Related Artists
     */
    @GET("artists/{id}/related-artists")
    Call getRelatedArtists(@Path("id") String artistId);

    /**
     * Get Spotify catalog information for several artists based on their Spotify IDs.
     *
     * @param artistIds A comma-separated list of the Spotify IDs for the artists. Maximum: 50 IDs.
     * @return An object whose key is "artists" and whose value is an array of artist objects.
     * @see Get Several Artists
     */
    @GET("artists")
    Call getArtists(@Query("ids") String artistIds);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy