描述改造2请求的更好方法

时间:2019-01-30 16:07:48

标签: java api retrofit qa

我希望能对优化当前请求有所帮助。我尝试了许多方法来在 retrofit框架之外做得更好。我想您可能会完全基于改造而使它变得更容易,但Idk会如何。

在邮递员应用程序/ json中的请求如下:

{
    "anket": {
        "privacy": {
            "show_profile": {
                "type": "all",
                "sub_request": false
            }
        }
    }
}

据我所知,如果您处理字段“类型”和“ sub_request”,则表单数据似乎无法正常工作... @Field @FieldMap可能是同一情况 retrofit 中也不起作用(或者我做错了c)。

当前实现:

Api.class:

@PATCH("api/v1/users")
Call<Privacy> changeProfilePrivacy(@Query("token") String token,
                                   @Body JsonObject object);

Privacy.class:

@SerializedName("type")
public String type;
@SerializedName("sub_request")
public Boolean subRequest;
private String tokenId = token;

public String getType() {
     return type;
}

public Boolean getSubRequest() {
     return subRequest;
}

 public Privacy privacyProfile(String type, Boolean subRequest) {
     JsonObject request = new JsonObject();
     JsonObject anket = new JsonObject();
     JsonObject privacy = new JsonObject();
     JsonObject showProfile = new JsonObject();

     showProfile.addProperty("type", type);
     showProfile.addProperty("sub_request", subRequest);
     privacy.add("show_profile", showProfile);
     anketa.add("privacy", privacy);
     request.add("anket", anket);

     Call<Privacy> call = apiRequest.changeProfilePrivacy(tokenId, request);

     callback(call);

     return this;
 }

JsonObjects具有一些重复部分,例如还有许多其他类似的请求实例。

0 个答案:

没有答案