0
我無法發佈請求到restfull服務。 它看起來像我的實體沒有正確轉換成json。 我收到一個400錯誤的請求響應。實體沒有發佈到寧靜服務
我懷疑它是導致問題的DateTimeRange對象列表 - 因爲我有一個非常類似的請求,但所有的pojos屬性都是字符串。
我是否需要註釋我的實體,以便爲列表和我的自定義DateTimeRange啓用到json的編組/
String actionUrl = buildUrl(myResftullUrlTest);
Client client = ClientBuilder.newClient().register(JacksonJsonProvider.class);
Builder target = client.target(actionUrl).request();
CreateWebinarRequest createWebinarRequest = new CreateWebinarRequest();
createWebinarRequest.setDescription("Test1 desc");
createWebinarRequest.setSubject("Test1 subject")
createWebinarRequest.setTimeZone("Europe/Dublin")
List<DateTimeRange> dateTimeRangeParam = new ArrayList<DateTimeRange>();
DateTimeRange dateTimeRange = new DateTimeRange();
dateTimeRange.setStartTime("2016-11-03T08:34:12");
dateTimeRange.setEndTime("2016-11-03T09:34:12");
dateTimeRangeParam.add(dateTimeRange);
createWebinarRequest.setTimes(dateTimeRangeParam);
Response response = null;
switch (goToTrainingRequestData.getRequestType()) {
case HTTP_POST :
response = target.buildPost(Entity.json(createWebinarRequest)).invoke();
...
}
}
CreateWebinarRequest:
public class CreateWebinarRequest implements Serializable {
private String subject = null;
private String description = null;
private List<DateTimeRange> times = new ArrayList<DateTimeRange>();
private String timeZone = null;
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public List<DateTimeRange> getTimes() {
return times;
}
public void setTimes(List<DateTimeRange> times) {
this.times = times;
}
public String getTimeZone() {
return timeZone;
}
public void setTimeZone(String timeZone) {
this.timeZone = timeZone;
}
}
DateTimeRange:
public class DateTimeRange {
private String startTime = null;
private String endTime = null;
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
}