在执行HTTP请求时处理字符串的正确方法是什么?

时间:2016-03-20 20:46:17

标签: android http retrofit

我有一个Android应用程序充当我的后端服务器的客户端。

我在Retrofit lib的帮助下执行POST http请求,并在正文中使用String。

问题是,使用GSON构建器时,Retrofit很可能会转义双引号。

这导致我的数据库中的字段包含双引号,例如:"example_gcm_token"

我需要知道我是应该在服务器端还是在客户端处理它以及如何处理它。

我认为它不应该在服务器端,因为它意味着我必须删除每个端点的转义引号。

@POST ("/Maguss/users/{userId}/gcmtoken")
    Call<Void> setGcmToken(@Path("userId") Long userId, @Body StringEntity gcmToken);

1 个答案:

答案 0 :(得分:0)

我会尝试用POJO替换StringEntity

public class SetGcmTokenRequest {
    @SerializedName("gcmtoken")
    private String gcmToken;

    public String getGcmToken() {
        return gcmToken;
    }

    public void setGcmToken(String gcmToken) {
        this.gcmToken = gcmToken;
    }
}

并改变界面:

@POST ("/Maguss/users/{userId}/gcmtoken")
Call<Void> setGcmToken(@Path("userId") Long userId, @Body SetGcmTokenRequest setGcmTokenRequest);