为了账号安全,请及时绑定邮箱和手机立即绑定

在邮递员邮寄请求中发送地图

在邮递员邮寄请求中发送地图

波斯汪 2022-07-27 16:47:34
当我希望它使用 @RequestBody 注释直接映射到我的 Java pojo 时,我找不到关于如何在我的 json 帖子中格式化地图的好答案。我假设 json 看起来像:{    "myInt":"10",    "myMap":"{1:\"A\"}"}我的 pojo 将有一个myInt字段和一个myMap字段。该myMap字段的类型Map<Integer,String>地图的 json 是什么样子才能让它工作?
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

根据你的 JSON 结构myMap是一个String. 但是,即使您从值中删除引号,myMap您也会发现{1:"A"}不是有效的 JSON,有效的 JSON 语法要求所有属性键都是字符串。一个有效的 JSON 结构看起来像{"1":"A"}. 反序列化器应该能够将密钥强制转换为Integer,所以Map<Integer, String>没问题。



查看完整回答
反对 回复 2022-07-27
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

首先,确保具有类似以下资源方法的内容:


@Path("/url")

public class Test {


    @POST

 @Consumes(MediaType.APPLICATION_JSON)

    public Response post(@RequestBody Foo foo) {

        ...

    }

}

然后,当您通过 POSTMAN 发送请求时,选择 POST 类型,然后选择“原始”选项,然后在“正文”中发送一个 JSON,其中包含您要放入 Map 的值。记得选择 "application/json" 。Jackson 将为您将 JSON 转换为 Map。


{

   "myInt": 10,

   "myMap": {

         1: "A"

     }

}


查看完整回答
反对 回复 2022-07-27
  • 2 回答
  • 0 关注
  • 72 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信