gpt4 book ai didi

java - 改造 2 : @FormUrlEncoded with default fields

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:32 25 4
gpt4 key购买 nike

我需要发送带有 application/x-www-form-urlencoded header 的请求。响应是一些 JSON 格式的音乐专辑列表。可以有两个可选参数:total(默认值= 5)和begin(默认值= 0)

这是我用来发送这个请求的接口(interface):

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 个项目,然后只使用 begin 字段。或者我想对这两个字段都使用默认值:

public interface MusicService {
@Headers("Accept: Application/JSON")
@FormUrlEncoded
@POST("album/featured-albums")
Call<List<Album>> listFeaturedAlbums();
}

有了这个,我得到一个错误:

java.lang.IllegalArgumentException: Form-encoded method must contain at least one @Field.

最佳答案

目前我不认为你可以用一种非 hackish 的方式来做到这一点。

retrofit 人员正在努力添加此功能:Allow specifying default @Field values. #951

当它完成时,您可以关注这个线程。或者帮助他们并提交 PR :)

关于java - 改造 2 : @FormUrlEncoded with default fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32472696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com