0


Feign的三种传参方式及注解

Feign的三种传参方式

1 路径拼接传参@RequestParam

路径拼接传参就是在路径后面添加 ? 和值

1.1 先在消费者的controller中增加一个方法

@RequestMapping("/deleteUserById")//请求路径publicUserdeleteUserById(Integer id){//由于是路径拼接传参,这里的参数不需要加注解return userFeign.deleteUserById(id);}

1.2 在UserFeign中增加被调用的方法

参数添加注解@RequestParam

@RequestMapping(value ="/deleteUserById")UserdeleteUserById(@RequestParam("id")Integer id);

1.3在提供者中增加方法

controller

@RequestMapping(value ="/deleteUserById")UserdeleteUserById(@RequestParam("id")Integer id){return userService.deleteUserById(id);}

接口和实现类

UserdeleteUserById(Integer id);
@OverridepublicUserdeleteUserById(Integer id){returnnewUser(0-id,"小明1",80);}

1.4测试路径拼接传参

在这里插入图片描述

2 Restful风格传递参数@PathVariable

2.1 先在消费者的controller中增加一个方法

@RequestMapping("/getUserById/{id}")publicUsergetUserById(@PathVariable("id")Integer id){return userFeign.getUserById(id);}

2.2 在UserFeign中增加被调用的方法

参数添加注解@PathVariable

@RequestMapping(value ="/getUserById/{id}")UsergetUserById(@PathVariable("id")Integer id);

2.3在提供者中增加方法

controller

//方法的访问路径@RequestMapping("/getUserById/{id}")publicUsergetUserById1(@PathVariable("id")Integer id){return userService.getUserById(id);}

接口和实现类

UsergetUserById(Integer id);
@OverridepublicUsergetUserById(Integer id){returnnewUser(id,"小明1",22);}

2.4 测试Restful风格传参

在这里插入图片描述

3 对象传参@RequestBody

3.1 先在消费者的controller中增加一个方法

@RequestMapping("/addUser")publicUseraddUser(User user){return userFeign.addUser(user);}

3.2 在UserFeign中增加被调用的方法

以对象传参需要加上@RequestBody注解

@RequestMapping(value ="/addUser")UseraddUser(@RequestBodyUser user);

3.3 在提供者中增加方法

controller

@RequestMapping(value ="/addUser")UseraddUser(@RequestBodyUser user){return userService.addUser(user);}

接口和实现类

UseraddUser(User user);
@OverridepublicUseraddUser(User user){return user;}

3.4 测试对象传参

在这里插入图片描述

4 总结

总之 ? 传参就用@RequestParam,获取请求参数并提交就用@PathVariable,对象传参就用@RequestBody,特别注意的是@RequestParam和@PathVariable的value值都要写出来,不然浏览器识别不了,而Java中万物皆对象,比如Map,Set,List等等,都可以当做对象以@RequestBody传递参数

标签: restful java spring

本文转载自: https://blog.csdn.net/weixin_71472723/article/details/127305030
版权归原作者 只会写HelloWorld的程序员 所有, 如有侵权,请联系我们删除。

“Feign的三种传参方式及注解”的评论:

还没有评论