首页 > 学院 > 开发设计 > 正文

Spring Cloud Feign构造多参数的请求

2019-11-06 06:30:21
字体:
来源:转载
供稿:网友

GET请求多参数的URL

假设我们请求的URL包含多个参数,例如http://microservice-PRovider-user/get?id=1&username=张三 ,要怎么办呢?

正确写法如下:

(1) 方法一

@FeignClient(name = "microservice-provider-user")public interface UserFeignClient { @RequestMapping(value = "/get", method = RequestMethod.GET) public User get1(@RequestParam("id") Long id, @RequestParam("username") String username);}

这是最为直观的方式,URL有几个参数,Feign接口中的方法就有几个参数。使用@RequestParam注解指定请求的参数是什么。

(2) 方法二

@FeignClient(name = "microservice-provider-user")public interface UserFeignClient { @RequestMapping(value = "/get", method = RequestMethod.GET) public User get2(@RequestParam Map<String, Object> map);}

多参数的URL也可以使用Map去构建。当目标URL参数非常多的时候,可使用这种方式简化Feign接口的编写。

POST请求包含多个参数

下面我们来讨论如何使用Feign构造包含多个参数的POST请求。举个例子,假设我们的用户微服务的Controller是这样编写的:

@RestControllerpublic class UserController { @PostMapping("/post") public User post(@RequestBody User user) { ... }}

我们的Feign接口要如何编写呢?答案非常简单,示例:

@FeignClient(name = "microservice-provider-user")public interface UserFeignClient { @RequestMapping(value = "/post", method = RequestMethod.POST) public User post(@RequestBody User user);}
上一篇:strust2使用通配符

下一篇:奶牛异或

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表