0
安らかなサービスにリクエストを投稿するのに問題があります。 エンティティが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;
}
}