gpt4 book ai didi

android - 如何忽略用于改造的模型中的某些变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:29:32 24 4
gpt4 key购买 nike

我正在使用 Retrofit 向我的服务器发送和接收请求。

我有一个像下面这样的模型,我必须将它发送到我的服务器,但是这个模型中的一些变量不必发送到服务器。

public class SelectedListModel implements Serializable {

@SerializedName("p_id")
@Expose
private Long pId;

@SerializedName("p_qty")
@Expose
private Double pQty;

@Expose(serialize = false , deserialize = false)
private String pName; //Have not to send to server

@Expose(serialize = false , deserialize = false)
private String pPrice; //Have not to send to server

@Expose(serialize = false , deserialize = false)
private String pImageUrl; //Have not to send to server
}

因此,我在服务器的响应中得到了 400。我使用了 @Expose(serialize = false, deserialize = false) 来忽略没有发送到服务器的变量。但它不起作用。有什么办法可以做到这一点,或者我必须为我的服务器创建另一个模型?

最佳答案

使用transient关键工作

public class SelectedListModel implements Serializable {

@SerializedName("p_id")
@Expose
private Long pId;

@SerializedName("p_qty")
@Expose
private Double pQty;

//@Expose(serialize = false , deserialize = false)
private transient String pName; //Have not to send to server

//@Expose(serialize = false , deserialize = false)
private transient String pPrice; //Have not to send to server

//@Expose(serialize = false , deserialize = false)
private transient String pImageUrl; //Have not to send to server
}

并且不需要使用@Expose(serialize = false , deserialize = false),到那些需要排除的字段。


阅读Why does Java have transient fields?Why use the `transient` keyword in java?了解更多详情。

关于android - 如何忽略用于改造的模型中的某些变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45931207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com