Java 在改装中使用基本身份验证发布请求?
使用改装,我在手机上张贴我的联系人列表,无需身份验证。我需要改进基本身份验证,但从互联网上看不到。你能帮帮我吗 这是我的代码:Java 在改装中使用基本身份验证发布请求?,java,android,retrofit2,Java,Android,Retrofit2,使用改装,我在手机上张贴我的联系人列表,无需身份验证。我需要改进基本身份验证,但从互联网上看不到。你能帮帮我吗 这是我的代码: public void GetContactsIntoArrayList(){ mAPIService = ApiUtils.getAPIService(); final User user = new User(); final Post post = new Post(); cursor = getContentResolver(
public void GetContactsIntoArrayList(){
mAPIService = ApiUtils.getAPIService();
final User user = new User();
final Post post = new Post();
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null, null, null);
while (cursor.moveToNext()) {
int i = 0;
name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
phonenumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
StoreContacts.add(name + " " + ":" + " " + phonenumber);
user.setphoneNumber(phonenumber.toString().trim());
user.setname(name.toString().trim());
List<User> phoneList = new ArrayList<>();
phoneList.add(user);
post.setUsers(phoneList);
sendPost(post);
}
cursor.close();
}
public void sendPost(Post post){
mAPIService.savePost(post).enqueue(new Callback<Post>() {
@Override
public void onResponse(Call<Post> call, Response<Post> response) {
Log.d("requestError", "onResponse: "+ call.request().body().toString());
if(response.isSuccessful()) {
Log.i("Is Ok?","OK :)");
}
}
@Override
public void onFailure(Call<Post> call, Throwable t) {
}
});
}
public void getcontactsintoraylist(){
mAPIService=aputils.getAPIService();
最终用户=新用户();
最终职位=新职位();
cursor=getContentResolver().query(ContactsContract.CommonDataTypes.Phone.CONTENT\u URI,null,null,null);
while(cursor.moveToNext()){
int i=0;
name=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataTypes.Phone.DISPLAY_name));
phonenumber=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataTypes.Phone.NUMBER));
StoreContacts.add(姓名+“”+:“+“”+电话号码);
user.setphoneNumber(phonenumber.toString().trim());
user.setname(name.toString().trim());
List phoneList=new ArrayList();
电话列表。添加(用户);
post.setUsers(电话列表);
sendPost(邮政);
}
cursor.close();
}
公共无效发送邮件(Post){
mAPIService.savePost(post.enqueue)(新回调(){
@凌驾
公共void onResponse(调用、响应){
Log.d(“requestError”,“onResponse:”+call.request().body().toString());
if(response.issusccessful()){
Log.i(“Ok?”,“Ok:)”;
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
}
});
}
这是迄今为止我尝试过的最简单的“基本身份验证”方法
使用以下代码生成auth头(API/存储库类)
将此作为标头传递给webservice调用(API/存储库类)
添加基本标题作为参数(改装Webservice接口类)
@GET(“新闻提要/每日”)
fun getNewsFeed(@Header(“Authorization”)h1:String):调用
我的代码是用Kotlin编写的,以防您在寻找Java。但是可以很容易地翻译成Java
参考资料:您可以在请求头中添加auth值,就像您要发送auth令牌一样,然后执行以下步骤:
@POST("/auth/update-contactno")
@Headers(
"Content-Type: application/json",
Constants.headerApp,
Constants.headerLanguage,
Constants.headerPlatform,
Constants.headerVersion
)
fun updateMobileNumber(@Header(Constants.authorization) token: String?, @Body verifyForgotPasswordOTPInput: VerifyForgotPasswordOTPInput): Call<JsonObjectResponse<UserModel>>
var retrofitCall = myWebservice.getNewsFeed(basic)
@GET("newsfeed/daily")
fun getNewsFeed(@Header("Authorization") h1:String):Call<NewsFeedResponse>
@POST("/auth/update-contactno")
@Headers(
"Content-Type: application/json",
Constants.headerApp,
Constants.headerLanguage,
Constants.headerPlatform,
Constants.headerVersion
)
fun updateMobileNumber(@Header(Constants.authorization) token: String?, @Body verifyForgotPasswordOTPInput: VerifyForgotPasswordOTPInput): Call<JsonObjectResponse<UserModel>>
apiService.updateMobileNumber(token, verifyForgotPasswordOTPInput)