1. 首页 > 范文工作总结

Feign GET方式传递多个参数 get方式参数在哪

本文为大家介绍了 Feign GET方式传递多个参数 ,还有的小伙伴在问get方式参数在哪,下面小编给大家细致的讲述一下。

Feign GET方式传递参数

单个参数

错误示例

@FeignClient(name = "demoFeignClient")
public interface DemoFeignClient {
    @RequestMapping(value = "/test", method = RequestMethod.GET)
    public String test(String name);
}

上面的示例如果参数为空,不会有问题,当存在参数时,会报错。

因为OpenFeign在构造请求时需要@RequestMapping/@RequestParam/@PathVariable/@RequestHeader等来构造http请求。

而GET请求如果参数没有注解,会转POST方式。

正确写法

@FeignClient(name = "demoFeignClient")
public interface DemoFeignClient {
    @GetMapping(value = "/test)
    public String test(@RequestParam("name") String name);
}

多个参数

错误示例

@FeignClient(name = "demoFeignClient")
public interface DemoFeignClient {
    @GetMapping("/test")
    public User test(User user);
}

正确写法

方法一

@FeignClient(name = "demoFeignClient")
public interface DemoFeignClient {
    @GetMapping("/test")
    public User test(@SpringQueryMap User user);
}

方法二

把参数平铺出来,每个参数加上@RequestParam注解。

@FeignClient(name = "demoFeignClient")
public interface DemoFeignClient {
  @GetMapping(value = "/test")
  public User test(@RequestParam("id") Long id, @RequestParam("name") String name);
}

方法三

使用Map的方式

@FeignClient(name = "demoFeignClient")
public interface DemoFeignClient {
  @GetMapping(value = "/test")
  public User test(@RequestParam Map<String, Object> map);
}

 Feign GET方式传递多个参数  get方式参数在哪

get方式参数在哪

既然使用对象传递参数,那传入的参数会默认放在RequesBody中,所以在接收的地方需要使用@RequestBody来解析.

get请求是以链接的方式,在链2113接的后方加上?就可以添加地5261址参数,并且可以添加多个.具体格式如下:www.baidu.com?type=1&name=zhidao&value=10 在这个实例中可4102以看到,有三个参数,包括type、name、value,多个参数中间记得1653要用&符号隔开.不知道你用的get是不是用的jQuery的$.get方法内,jQuery的get方法链接是有长度限制的,具体的一下子也说不清楚,还是要容靠你自己去学习.

在浏览器地址栏中输入某个url地址或单击网页上的一个超链接时,浏览器发出的http请求消息的请求方式为get.如果网页中的

所有得input都可以得到值,或者通过javascript来获值,一般不要使用get,get主要是从服务器返回值,而post是向服务器传递值.