Spring web 使用多值dmap作为ResponseBody将{quot;empty";:false}作为响应

Spring web 使用多值dmap作为ResponseBody将{quot;empty";:false}作为响应,spring-web,Spring Web,我试图使用多值映射作为rest服务的响应主体,但在浏览器中得到的响应是: {“空”:false} 使用MultiValueMap作为ResponseBody可以很好地工作,但是在升级org.apache.commons库之后,MultiValueMap被弃用,并给出了使用MultiValuedMap的说明 以下是我的代码的相关部分: import org.apache.commons.collections4.MultiValuedMap; @RestController("DatabaseD

我试图使用多值映射作为rest服务的响应主体,但在浏览器中得到的响应是:

{“空”:false}

使用MultiValueMap作为ResponseBody可以很好地工作,但是在升级org.apache.commons库之后,MultiValueMap被弃用,并给出了使用MultiValuedMap的说明

以下是我的代码的相关部分:

import org.apache.commons.collections4.MultiValuedMap;

@RestController("DatabaseDefinitionRestController")
public class DatabaseDefinitionRestController {

    @RequestMapping(value = "/database/{id}/definitions", method = RequestMethod.GET)
    public MultiValuedMap<Long, DatabaseDefinition> mapDatabaseDefinitions(@PathVariable Long id) {
        return databaseDefinitionService.loadDatabaseDefinition(id);
    }
}
import org.apache.commons.collections4.MultiValuedMap;
@RestController(“数据库定义RestController”)
公共类数据库定义RESTController{
@RequestMapping(value=“/database/{id}/definitions”,method=RequestMethod.GET)
公共多值mapDatabaseDefinitions(@PathVariable Long id){
返回databaseDefinitionService.loadDatabaseDefinition(id);
}
}
我还尝试:

import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;

@RestController("DatabaseDefinitionRestController")
public class DatabaseDefinitionRestController {

    @RequestMapping(value = "/database/{id}/definitions", method = RequestMethod.GET)
    public ArrayListValuedHashMap<Long, DatabaseDefinition> mapDatabaseDefinitions(@PathVariable Long id) {
        return databaseDefinitionService.loadDatabaseDefinition(id);
    }
}
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
@RestController(“数据库定义RestController”)
公共类数据库定义RESTController{
@RequestMapping(value=“/database/{id}/definitions”,method=RequestMethod.GET)
公共ArrayListValuedHashMap mapDatabaseDefinitions(@PathVariable Long id){
返回databaseDefinitionService.loadDatabaseDefinition(id);
}
}

任何帮助都将不胜感激。

无论您用于序列化的是什么,都可能对所有核心Java集合进行特殊的案例处理,包括
Map
。不推荐使用的
MultiValueMap
实现了
Map
,因此受益于这种特殊处理。新的
多值映射
,无论出于何种原因,都不会。这使得它依赖于默认的一般处理,这取决于所使用的具体类的内部实现

调用
MultiValuedMap
上的
asMap()