我想发送一个带有一个实际参数的简单 POST 请求:
@POST("/token")
@FormUrlEncoded
void extendSession(@Field("refresh_token")final String refreshToken);
但是这个请求还应该发送服务器请求的一些常量值,例如client_id
, client_secret
and grant_type
它们是常量,不应成为应用程序 API 的一部分。
做这个的最好方式是什么?
这取决于你的方法。如果您有常量,您可以构建调用所需的默认值映射。@FieldMap
将适合构建包含所有所需字段的地图
private void extendSession(String token){
Map params = buildDefaultParams();
params.put("refreshToken", token);
getRestAdapter().create(MyApi.class).extendsSession(params);
}
private Map buildDefaultParams(){
Map defaults = new HashMap();
defaults.put("client_id", CLIENT_ID);
defaults.put("client_secret", CLIENT_SECRET);
defaults.put("grant_type", GRANT_TYPE);
return defaults;
}
/**then you change your interface to this **/
@POST("/token")
@FormUrlEncoded
void extendSession(@FieldMap() Map refreshToken);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)