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

如何用RestTemplate同时传递一个Java对象和基本类型的参数?

如何用RestTemplate同时传递一个Java对象和基本类型的参数?

慕容森 2019-04-11 18:15:00
我用RestTemplate想两个参数,一个是自己写的Java类,一个是基本类型请求的Controller    @RequestMapping("/buy")     public int buy(@RequestBody GoodsDetail goodsDetail,Integer buyCount){         goodsDetail.setRemaining(goodsDetail.getRemaining() - buyCount);         int num = goodsDetailMapper.updateByPrimaryKey(goodsDetail);         return num;     }用getForObject:    Map<String,Object> map = new HashMap<>();     map.put("goodsDetail",goodsDetail);     map.put("buyCount",buyCount);     int num = restTemplate.getForObject("http://localhost:8088/shop-buy/buy?goodsDetail={goodsDetail}&buyCount={buyCount}", int.class, map);报400 null用postForObject:        MultiValueMap<String,Object> multiValueMap = new LinkedMultiValueMap<>();         multiValueMap.add("goodsDetail",goodsDetail);         multiValueMap.add("buyCount",buyCount);         int num = restTemplate.postForObject("http://localhost:8088/shop-buy/buy", multiValueMap, int.class);报415 null 求救,要疯掉了!
查看完整描述

3 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

@RequestMapping("/buy/{buyCount}")
    public int buy(@RequestBody GoodsDetail goodsDetail,@PathParam ("buyCount") Integer buyCount){
        goodsDetail.setRemaining(goodsDetail.getRemaining() - buyCount);
        int num = goodsDetailMapper.updateByPrimaryKey(goodsDetail);
        return num;
    }


查看完整回答
反对 回复 2019-05-14
?
人到中年有点甜

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

你可以了解一下请求体类型

查看完整回答
反对 回复 2019-05-14
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

@RequestParam 或者将这两个封装到一个实体类


查看完整回答
反对 回复 2019-05-14
  • 3 回答
  • 0 关注
  • 3309 浏览

添加回答

举报

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