端点方法不起作用,为什么?
Endpoints method not working, why?
当我在 api 资源管理器中测试我的 google 端点 API 时,saveProfile 方法抛出 503 Service Unavailable
错误,但所有其他方法都工作正常。
这是我端点中的 saveProfile 方法:
@ApiMethod(name = "saveProfile")
public Profile saveProfile(final ProfileForm profileForm) {
String firstName = profileForm.getFirstName();
String lastName = profileForm.getLastName();
String email = profileForm.getEmail();
Profile profile = new Profile("124234132", email, firstName, lastName);
ofy().save().entity(profile).now();
return profile;
}
这是个人资料实体 class:
@Entity
public class Profile {
@Id
private String userId;
private String email;
private String firstName;
private String lastName;
public Profile(String userId, String email, String firstName, String lastName) {
this.userId = userId;
this.email = email;
this.firstName = firstName;
this.lastName = lastName;
}
}
这里是 profileForm class:
public class ProfileForm {
private String firstName;
private String lastName;
private String email;
public ProfileForm() {}
public ProfileForm(String firstName, String lastName, String email) {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getEmail() {
return email;
}
}
我已经注册了实体并设置了 API_EXPLORER_CLIENT_ID
以及网络和 android 客户端 ID。
有人知道如何解决这个问题,以便该方法只是 returns 配置文件对象吗?
为了使配置文件可序列化,您需要为其每个字段定义 getter 和 setter(例如 getUserId()、setUserId(string Id))。
Objectify 实体还必须包含无参数构造函数:https://github.com/objectify/objectify/wiki/Entities
让我知道是否修复了错误。
当我在 api 资源管理器中测试我的 google 端点 API 时,saveProfile 方法抛出 503 Service Unavailable
错误,但所有其他方法都工作正常。
这是我端点中的 saveProfile 方法:
@ApiMethod(name = "saveProfile")
public Profile saveProfile(final ProfileForm profileForm) {
String firstName = profileForm.getFirstName();
String lastName = profileForm.getLastName();
String email = profileForm.getEmail();
Profile profile = new Profile("124234132", email, firstName, lastName);
ofy().save().entity(profile).now();
return profile;
}
这是个人资料实体 class:
@Entity
public class Profile {
@Id
private String userId;
private String email;
private String firstName;
private String lastName;
public Profile(String userId, String email, String firstName, String lastName) {
this.userId = userId;
this.email = email;
this.firstName = firstName;
this.lastName = lastName;
}
}
这里是 profileForm class:
public class ProfileForm {
private String firstName;
private String lastName;
private String email;
public ProfileForm() {}
public ProfileForm(String firstName, String lastName, String email) {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getEmail() {
return email;
}
}
我已经注册了实体并设置了 API_EXPLORER_CLIENT_ID
以及网络和 android 客户端 ID。
有人知道如何解决这个问题,以便该方法只是 returns 配置文件对象吗?
为了使配置文件可序列化,您需要为其每个字段定义 getter 和 setter(例如 getUserId()、setUserId(string Id))。
Objectify 实体还必须包含无参数构造函数:https://github.com/objectify/objectify/wiki/Entities
让我知道是否修复了错误。