Sun*_*l P 6 android authorization bearer-token retrofit2
在这里,我需要通过授权承载来获取服务器的响应,以防将文件上传到我正在使用改造的服务器。
我尝试了两种方式
1)
这就是我在改造接口类中初始化的方式
@POST("document/kycDocument/user/3")
Call<UploadKycpojo> uploadkycdoc(@Header("Authorization")String token, @Body UploadKycRequest uploadKycRequest);
Run Code Online (Sandbox Code Playgroud)
这就是我从接口类调用它的方式
Call<UploadKycpojo> request = RestClient.getInstance(UploadIdActivtiy.this).get().uploadkycdoc("Bearer "+auth,uploadKycRequest);
Run Code Online (Sandbox Code Playgroud)
2)
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request newRequest = chain.request().newBuilder()
.addHeader("Authorization", "Bearer " + token)
.build();
return chain.proceed(newRequest);
}
}).build();
Retrofit retrofit = new Retrofit.Builder()
.client(client)
.baseUrl(/** your url **/)
.addConverterFactory(GsonConverterFactory.create())
.build();
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。提前致谢!
我确实尝试过,它对我有用,请参考下面的代码:
@Multipart
@POST("document/kycDocument/user/3")
Call<UploadKycpojo> uploadkycdoc(@Header("Authorization")String token, @Part
MultipartBody.Part file, @PartMap() Map<String,
RequestBody> partMap);
Run Code Online (Sandbox Code Playgroud)
对于 API 调用,请使用以下方法:
private void uploadkycdoc() {
MultipartBody.Part filePart;
HashMap<String, RequestBody> requestBodyMap = new HashMap<>();
requestBodyMap.put("imageSlide", RequestBody.create(MediaType.parse("multipart/form-data"), "front"));
ApiInterface apiInterface = ApiClient.getClient().create(ApiInterface.class);
Call<UploadKycpojo> uploadkycdocCall = null;
File file = new File(getRealPathFromURI(fileUri, context));
RequestBody requestFile = RequestBody.create(MediaType.parse("*/*"), file);
filePart= MultipartBody.Part.createFormData("file", file.getName(),
requestFile);
uploadkycdocCall = apiInterface.uploadkycdoc("Bearer " + token, filePart, requestBodyMap);
uploadkycdocCall.enqueue(new Callback<UploadKycpojo>() {
@Override
public void onResponse(Call<UploadKycpojo> call, Response<UploadKycpojo> response) {
cancelProgressDialog();
try {
if (response.isSuccessful()) {
} else {
}
} catch (Exception e) {
}
}
@Override
public void onFailure(Call<UploadKycpojo> call, Throwable t) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17695 次 |
| 最近记录: |