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)