身体多部位加装

jli*_*ely 5 android retrofit2

这是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);
Run Code Online (Sandbox Code Playgroud)

然后当我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);
Run Code Online (Sandbox Code Playgroud)

但是,如何将OAuthCredentialsTest键和值部分包括在我的代码中myMap