我有以下代码:
@GET("api.php?company_name={name}")
Call<Model> getRoms_center(@Query("name") String name);
根据官方文档,我必须使用@Query,并且我正在使用它,但我收到以下错误:
java.lang.IllegalArgumentException: URL query string "company_name={name}" must not have replace block. For dynamic query parameters use @Query.
你应该这样做:
@GET("api.php")
Call<Model> getRoms_center(@Query("company_name") String name);
示例网址为:
http://service.com/movies/list?movie_lang=hindi
对于该 URL,您可以使用以下内容:
@GET("http://service.com/movies/list")
Single<JsonElement> getMovieList(@Query("movie_lang") String userLanguage);
示例网址:https://api.pray.zone/v2/times/today.jsonlatitude=31.3952348&longitude=&elevation=2000&timeformat=1
要传递该 URL 的改造,您可以使用以下命令:
@GET("today.json")
Call<SalahMainResponse> getSalahTiming(
@Query("latitude") double latitude,
@Query("longitude") double longitude,
@Query("elevation") int elevation,
@Query("timeformat") int timeformat
);
在 Kotlin 中你应该这样做:
示例 URL:https://codeforces.com/api/user.info?handles=maity_amit_2003
在 Kotlin 中通过 Retrofit:
interface CodeForcesAPIService {
@GET("api/user.info?")
fun getApiResponse(@Query("handles") uid:String): Call<CodeForcesModel>
}