2015-10-26 4 views
1

Я все еще новичок в модификации API для Android, но я до сих пор не понял! Я знаю о Annotation @Path и @Query, но я до сих пор не знаю, что такое использование @Field и я также знаю о @POST и @GET, но я не знаю, что это @PUT и один последний вопрос .. позволяет сказать, что в моем API я создал следующую услугу.Android Retrofit api link presntation

@GET("/bookmarks") 


public abstract void bookmarks(@Query("countryCode") String paramString, @Query("limit") int paramInt1, Callback<BookmarksResult> paramCallback); 

как этот вызов фактически представлен как ссылка? Я имею в виду это было бы как этот

http://www.example.com/api/bookmarks?countryCode=X&limit=X 

пожалуйста некоторую помощь моему целый день на это, и я до сих пор не имеют хорошие ответы благодаря

+0

, если ваш 'baseUrl' является' http: // www.example.com/api', да. Я бы использовал '@ QueryMap' вместо того, чтобы передавать более одного' @ Query' – Blackbelt

+0

@Blackbelt спасибо^_^это тот же случай для POST & PUT? –

ответ

1

если ваш baseUrl является http://www.example.com/api ответ да. URL будет разрешен в

http://www.example.com/api/bookmarks?countryCode=X&limit=X 

и то же самое относится к другим методам запроса.

Я бы использовал @QueryMap вместо пропуска более одного @Query, но это больше зависит от вкуса.

Я просто заметил, что ваш метод помечен как abstract. Я уверен, что одним из ограничений для модернизации является то, что вы должны использовать интерфейс для объявления своих конечных точек

+0

один вопрос ... какое использование Annotation @Field? –

+0

@Field для Post/Put, когда вы используете запрос с кодировкой формы – Blackbelt

+0

, тогда, если у меня есть @Field ("countryCode") String paramString, ссылка также будет такой же, как http://www.example.com/api/bookmarks countryCode = X & limit = X –