Avi*_*ron 14 java android http http-post retrofit
我想发送一个带有一个实际参数的简单POST请求:
@POST("/token")
@FormUrlEncoded
void extendSession(@Field("refresh_token")final String refreshToken);
Run Code Online (Sandbox Code Playgroud)
但这一要求也应该发送服务器,例如要求一些常数值client_id,client_secret而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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8416 次 |
| 最近记录: |