这就是调用的body
应该是这样的(图像字段将被添加)。
{
"email":"test",
"username":"test",
"password":"test",
"name":"test",
"description":"Something...",
"OAuthCredentialsTest":{
"client_id":23,
"client_secret":"test"
}
}
我在通话中使用@PartMap
作为body
:
Call<CreateUserResult> createUserPart(@PartMap Map<String, RequestBody> map);
然后当我enqueue
来电时:
File file = new File(signUpUser.getImagePath());
RequestBody fileBody = RequestBody.create(MediaType.parse("image/*"), file);
RequestBody fullName = RequestBody.create(MediaType.parse("text/plain"), signUpUser.getFullName());
RequestBody email = RequestBody.create(MediaType.parse("text/plain"), signUpUser.getEmail());
RequestBody username = RequestBody.create(MediaType.parse("text/plain"), signUpUser.getUsername());
RequestBody password = RequestBody.create(MediaType.parse("text/plain"), signUpUser.getPassword());
RequestBody desc = RequestBody.create(MediaType.parse("text/plain"), signUpUser.getDescription());
Map<String, RequestBody> myMap = new HashMap<>();
myMap.put("file\"; filename=\"" + file.getName(), fileBody);
myMap.put("name", fullName);
myMap.put("email", email);
myMap.put("username", username);
myMap.put("password", password);
myMap.put("description", desc);
但是,如何在OAuthCredentialsTest
中添加myMap
键和值部分?