改造 2:使用默认字段@FormUrlEncoded
我需要发送带有标头的请求。响应是 JSON 格式的一些音乐专辑的列表。可以有两个可选参数:总计(默认值 = 5)和开始(默认值 = 0)application/x-www-form-urlencoded
以下是我用来发送此请求的界面:
public interface MusicService {
@Headers("Accept: Application/JSON")
@FormUrlEncoded
@POST("album/featured-albums")
Call<List<Album>> listFeaturedAlbums(@Field("total") int total, @Field("begin") int begin);
}
问题是,如何将默认值设置为其中一个或两个字段,这样我就不必在每个请求中发送参数。例如,我想在每个请求上获得30个项目,然后只玩开始字段。或者,也许我想对这两个字段都使用默认值:
public interface MusicService {
@Headers("Accept: Application/JSON")
@FormUrlEncoded
@POST("album/featured-albums")
Call<List<Album>> listFeaturedAlbums();
}
有了这个,我得到一个错误:
java.lang.IllegalArgumentException:表单编码方法必须至少包含一个@Field。