我有以下Enum班
public enum EventAccess {
PUBLIC("PUBLIC"),
EMPLOYEES_ONLY("EMPLOYEES_ONLY"),
String name;
private EventAccess(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
我也有一个Serializable类,该类具有枚举作为其字段之一
public class EventAccessRequest implements Serializable{
private List<EventAccess> event_access = new ArrayList<>();
public EventAccessRequest() {
}
public List<EventAccess> getEvent_access() {
return event_access;
}
public void setEvent_access(List<EventAccess> event_access) {
this.event_access = event_access;
}
}
我有一个@Api方法,该方法创建了一个EventAccessRequest类型的对象。我在Api Explorer中设置了此请求的值,但没有设置我放入的任何枚举字段。
@ApiMethod(name = "fetchEventByEventAccess", path = "user/events/list-by-access/", httpMethod = HttpMethod.GET)
public RestfulResponse fetchEventByEventAccess(EventAccessRequest request)throws Exception
{
EventAccess x = request.getEvent_access().get(0);
return new RestfulResponse(Status.SUCCESS, "Events retrieved",request, 200);
}
}
我尝试插入不是enum的其他类型,它设置了它们的值,但是当我尝试在Api exploere中插入一个Enum时,没有设置值。
因此我的请求对象始终为空。
可能是什么问题呢?
最佳答案
错误是您正在使用httpMethod = HttpMethod.GET而不是httpMethod = HttpMethod.POST,因为您正在发送有效载荷请求,因此您将需要使http方法等待发布请求以接受有效负载或请求主体
所以应该
@ApiMethod(name = "fetchEventByEventAccess", path = "user/events/list-by-access/", httpMethod = HttpMethod.POST)
观察httpMethod的感谢。