gpt4 book ai didi

java - Spring MVC @RequestBody 进入接口(interface)而不是类

转载 作者:行者123 更新时间:2023-11-30 03:35:22 27 4
gpt4 key购买 nike

各位,

这段代码可以正常工作:

@RequestMapping(method = RequestMethod.GET, produces = "application/json")
public ResponseEntity<List<Member>> findByMemberKeyOrUniqueMemberId(

请注意,“Member”是一个接口(interface),而不是一个类。

这不起作用。

@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<String> save(@RequestBody final List<Member> members) {

所以我可以将成员转换为 JSON,但我无法将 JSON 接收为成员。如果我将 save 的参数从 List 更改为 Member 类之一的 List,那么它可以正常工作,但它确实会弄乱我的代码。

我该如何解决这个问题?

最佳答案

Jackson 无法(这是不可行的)猜测使用哪个 Member 实现来反序列化 JSON。

Jackson 提供了 @JsonTypeInfo 作为描述继承层次结构并为其提供有关如何反序列化 JSON 的提示的方式。但是,这需要您修改 JSON 并添加这些提示。文档 here 对此进行了解释。 .

关于java - Spring MVC @RequestBody 进入接口(interface)而不是类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28056618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com