通过 Unirest POST 从字符串发送日期格式的数据 - 输入无效
Send the Date Formatted data from String via Unirest POST getting - Invalid input
我向服务器发送了一些带有延迟日期的请求。 POST 请求如下所示:
{
"text":"texst",
"deferred_date":"2019-09-14 14:00"
}
我在 Java 中通过 Postman 或 Unirest 发送它并得到 201 Accepted 结果。
服务器以“2019-09-14T14:00:00+03:00”格式存储此日期值。
由于我在 Java 中修改了我的日期,最终数据存储在一个字符串
中
YYYY-MM-dd hh:mm format
DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm");
String deferredTime = "";
deferredTime = dateFormat.format(oldTime);
我原来的 Unirest 的 POST 有下一个车身结构:
.body("{\"text\":\"...\",\"deferred_date\":\"2019-09-14 06:03\"}")
它工作正常,但如果我在 POST:
中使用我的 deferredTime 字符串
.body("{\"text\":\"...\",\"deferred_date\":\"" + deferredTime + "\"}")
我收到 400 错误请求错误
{
"userMessage":"Invalid input.",
"errorCode":"invalid",
"fields":{
"deferred_date":[
"Posting date Date has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]."
]
},
"internalMessage":"Invalid input."
}
我不明白如果 deferredTime 字符串变量保持与我之前使用的相同 "YYYY-MM-dd hh:mm" 值,为什么它不起作用。
有什么建议吗?
根据 Ole V.V 的回答,我使用 LocalDateTime 字符串以“2018-09-16T10:41:48.619”格式存储我的日期,而不是将日期存储在 SimpleDateFormat 中“2018-09-16 10:41”。现在,如果格式正确,我会收到 201 Accepted 结果
我向服务器发送了一些带有延迟日期的请求。 POST 请求如下所示:
{
"text":"texst",
"deferred_date":"2019-09-14 14:00"
}
我在 Java 中通过 Postman 或 Unirest 发送它并得到 201 Accepted 结果。 服务器以“2019-09-14T14:00:00+03:00”格式存储此日期值。
由于我在 Java 中修改了我的日期,最终数据存储在一个字符串
中YYYY-MM-dd hh:mm format
DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm");
String deferredTime = "";
deferredTime = dateFormat.format(oldTime);
我原来的 Unirest 的 POST 有下一个车身结构:
.body("{\"text\":\"...\",\"deferred_date\":\"2019-09-14 06:03\"}")
它工作正常,但如果我在 POST:
中使用我的 deferredTime 字符串 .body("{\"text\":\"...\",\"deferred_date\":\"" + deferredTime + "\"}")
我收到 400 错误请求错误
{
"userMessage":"Invalid input.",
"errorCode":"invalid",
"fields":{
"deferred_date":[
"Posting date Date has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]."
]
},
"internalMessage":"Invalid input."
}
我不明白如果 deferredTime 字符串变量保持与我之前使用的相同 "YYYY-MM-dd hh:mm" 值,为什么它不起作用。 有什么建议吗?
根据 Ole V.V 的回答,我使用 LocalDateTime 字符串以“2018-09-16T10:41:48.619”格式存储我的日期,而不是将日期存储在 SimpleDateFormat 中“2018-09-16 10:41”。现在,如果格式正确,我会收到 201 Accepted 结果