安卓改型将自定义头添加为令牌java
我只是学习了安卓系统改造的基本知识,但是我有很多关于标题的问题
我有一个RESTAPI服务器,在我的API导出数据之前,它请求有API密钥,该密钥存储在头授权上。现在,在执行之前,我想将API键初始化到头中
这是我的密码
public interface VerifyClient{
@Headers("Authorization: eNortjI0s1LKTSxKSUyvckguLcuv0EtJ") // <======================
@FormUrlEncoded
@POST("/sendcode/{id}")
VerifyResponse verify(@Path("id") String id, @Field("to") String to, @Field("type") String type, @Field("code") String code);
}
这很好,但问题是如果另一个客户端api密钥
另一种方法是这样
RequestInterceptor requestInterceptor = new RequestInterceptor()
{
@Override
public void intercept(RequestFacade request) {
request.addHeader("Authorization", ApiKey); <======================
}
};
return new RestAdapter
.Builder()
.setEndpoint(Var.REST_URL)
.setRequestInterceptor(requestInterceptor)
.build()
.create(VerifyClient.class)
.verify(userData[0], userData[1], userData[2], userData[3]);
}
但是它返回401 Unauthorized
嗯,有人有解决这个问题的办法吗?或者可能是我实施错了
# 1 楼答案
如果你想为你的用户创建API密钥,我建议你首先创建POJO对象,它代表你的用户
下一步创建
Service
来处理POST
请求现在,您只需呼叫服务,例如:
作为回应,你可以得到你想要的,例如:
response.headers().get("tokenKey")
# 2 楼答案
我也有同样的问题,我就是这样解决的
首先,这是我的客户。注意请求头“Authorization”:我必须把关键字“Token”放在实际的Token之前。也许这对你有帮助
我在下面的链接Retrofit — Token Authentication on Android中找到了改造客户端