cloud 简单对象和复杂对象传输

简单对象:


	@ResponseBody
	@RequestMapping(value = "/say/{id}")
	String say(@PathVariable("id") Integer id);

简单对象:需要对参数加@PathVariable("id")注解,请求路径要加{id}对应注解中的值。多个参数可以用多个路径叠加。示例方法:


	@ResponseBody
	@RequestMapping(value = "/say/{id}/{name}")
	String say(@PathVariable("id") Integer id,@PathVariable("name") String name);

方法上一定要加@ResponseBody,否则spring cloud就会认为返回的是路径。

还可以用@RequestParam注解来请求


	@ResponseBody
	@RequestMapping(value = "/say", method = RequestMethod.POST)
	String say(@RequestParam("id") int id, @RequestParam("id3") int id3);

复杂对象:


	@ResponseBody
	@RequestMapping(value = "/getServerBase", method = RequestMethod.POST)
	ServerBaseData getServerBase(@RequestBody ServerBaseData data);

复杂对象:参数就直接用@RequestBody注解,请求路径就是基础路径,不要再加{}了。一定要用post请求。
简单对象也可以用这种方式传输

方法上一定要加@ResponseBody,否则spring cloud就会认为返回的是路径

Method has too many Body parameters: 

只能有一个@ResponseBody注解的参数,否则就会报上边这个错误


	@ResponseBody
	@RequestMapping(value = "/getServerBase", method = RequestMethod.POST)
	ServerBaseData getServerBase(@RequestParam("id") int id, @RequestBody ServerBaseData data1);

@RequestParam  @RequestBody 可以混用

前提

这都是在消费端和服务端共用的接口上写的,实现类上只加@Controller注解即可。关于共用接口参照:https://blog.csdn.net/u014084297/article/details/118159615

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值