Android 非常奇怪的改装反应
这是我的反应体Android 非常奇怪的改装反应,android,retrofit2,Android,Retrofit2,这是我的反应体 import lombok.Getter; import lombok.Setter; @Getter @Setter public class MatchResponse { private Match match; private Member member; } 我调用了restapi并从服务器获得了响应 服务器日志显示所有字段都设置正确,尤其是“mId”为540 MatchResponse(match=Match(mId=540, id1=232, i
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class MatchResponse {
private Match match;
private Member member;
}
我调用了restapi并从服务器获得了响应
服务器日志显示所有字段都设置正确,尤其是“mId”为540
MatchResponse(match=Match(mId=540, id1=232, id2=3, date=2020-01-13 00:42:13.0, isAcceptedByUser1=false, isAcceptedByUser2=false, isMade=false), member=Member(mId=232, email=test228@gmail.com, password=$2a$10$hj1rs6vTDYkMf0KlSsTV7.ZG.cW23L0UbS0bXUUZaPqLzXLDCUPki, name=null, phone=null, yearOfBirth=1989, gender=male, jobType=null, jobTitle=null, company=구글 코리아, areaType=null, areaName=강남역, roles=[MemberRole(no=229, roleName=MEMBER)]))
但是,客户端显示“Match”类中的“mId”为0!!!
奇怪的是,所有其他字段都设置正确
下面是Android Studio的日志。
为什么这里没有设置一个字段“mId”???
有人帮我吗
更新:
比赛课
public class Match { private int mId; private int id1; private int id2; private Date date; private boolean isAcceptedByUser1; private boolean isAcceptedByUser2; private boolean isMade; public boolean isArranged() { return isAcceptedByUser1 && isAcceptedByUser2; } }
这是因为JSON解析器在封送处理时更改了字段的名称。我通过使用@SerializedName注释指示JSON键的更改来解决这个问题。另一种方法是使用@JSONProperty注释在服务器端显式设置JSON键。无论如何,问题是要保持类(服务器和客户端)和JSON之间名称的一致性。类
如何匹配{private int mId;private int id1;private int id2;private Date Date;private boolean isAcceptedByUser1;private boolean isAcceptedByUser2;private boolean isMade;public boolean isArranged(){return isAcceptedByUser1&&isAcceptedByUser2;}@MartinZeitler代码行中断。我在上面编写了匹配类。