我试图写一个Spring MVC GET控制器,它需要Java8即时作为请求参数:
@GetMapping
@JsonView(OrderListing.class)
@Validated
public WebSeekPaginatedResultsDto<OrderListingDto> findAll(@Valid OrderSearchCommand orderSearchCommand) {
// Some code
}
与:
public class OrderSearchCommand {
private Instant dateCreatedStart;
private Instant dateCreatedEnd;
// Some other fields
}
我正在从一些React/Javascript代码触发一个GET请求,如下所示:
http://localhost:8080/mms/front/orders?dateCreatedStart=2017-05-31T22%3A00%3A00.000Z
Spring似乎不喜欢它,并抛出一个错误。以下是错误消息:
Failed to convert property value of type 'java.lang.String' to required type 'java.time.Instant' for property 'dateCreatedStart';
nested exception is java.lang.IllegalStateException:
Cannot convert value of type 'java.lang.String' to required type 'java.time.Instant' for property 'dateCreatedStart': no matching editors or conversion strategy found
知道我为什么会收到这个吗?
谢谢你
也许这能帮到你?序列化/反序列化java 8 java。使用Jackson JSON mapper时,我看到这个Jackson包含即时类。
我怀疑@DateTimeFormat不适用于Instant
字段。具体来说,Instant
在Spring参考文档中不作为其工作的类型之一列出。
查看Spring参考第9.5节,了解有关Spring自定义类型转换的详细信息。创建一个转换器
错误消息是不言自明的:没有注册的String
到Instant
转换器。
当Controller
收到请求时,所有参数都是String
s。Spring/Jackson具有大多数基本类型的预定义转换器列表:-String
但是没有默认字符串
你需要创建并注册一个。或者,您可以将输入类型更改为Spring可以使用@DateTimeFormat
注释处理的类型:如何在对Spring MVC控制器的GET请求中接受日期参数?
可以在模板中直接使用$Request对象,直接输入它的属性或调用它的大部分方法,但只支持方法的第一个参数; // 调用Request对象的get方法 传入参数为id {$Request.get.id} // 调用Request对象的param方法 传入参数为name {$Request.param.name} // 调用Request对象的param方法 传入参数为post.post_title
可以在模板中直接使用$Request对象,直接输入它的属性或调用它的大部分方法,但只支持方法的第一个参数; // 调用Request对象的get方法 传入参数为id {$Request.get.id} // 调用Request对象的param方法 传入参数为name {$Request.param.name} // 调用Request对象的param方法 传入参数为post.post_title
您好,我尝试使用HttpsConnection从不和谐服务器获取响应,但服务器响应错误403,我不知道为什么,我在上面的JDK 13中尝试了这段代码并且有效,但我需要JDK 8,但在这个版本上由于某种原因它不起作用。 错误: 线程“main”java.io.IOException中的异常:服务器返回HTTP响应代码:403用于URL:https://discord.com/api/v9/users
我已经使用zappa在aws lambda上部署了一个flask应用程序,现在该应用程序在所有endpoint上都运行良好,除了我的主endpoint,当我对其发出post请求时,它返回{“消息”:“endpoint请求超时”} 真的需要一个修复或想法如何克服这个我需要调用分析路线,部署的url是 https://2ixfyfcsik.execute-api.eu-west-2.amazonaws
我已经浪费了10个小时试图弄明白一件简单的事情。 我有一个反应前端和一个Spring Boot后端在端口8080上运行。 我在前端有自己的登录表单。 在一个理想的世界里,我所希望的是让Spring Boot像往常一样进行表单验证,而没有那个丑陋的引导表单。 我设置了一个基本的内存身份验证只是为了练习,但它根本不起作用 我有两个选择: > 在Restendpoint中处理身份验证,然后将安全上下文设
HTTP/1.1 408 REQUEST_TIMEOUT内容-长度:0连接:关闭 已关闭 --------------------------------------------------------------------------------------- 它会导致请求超时。如果我使用curl命令,它是成功的。 请求超时的原因是什么?