當我們在定義FeignClient時需要注意以下亮點。
1.請求方式不能用縮寫的形式
錯誤的寫法
@FeignClient
(
"microservice-provider-user"
)
public
interface
UserFeignClient {
@GetMapping
(value =
"/users"
)
public
User findById(@RequestParam(value="id")
Long id);
...
}
正確的寫法
@FeignClient
(
"microservice-provider-user"
)
public
interface
UserFeignClient {
@RequestMapping
(value =
"/users"
, method = RequestMethod.GET)
public
User findById(
@RequestParam
(
"id"
) Long id);
...
}
這裏不能簡寫
2.當使用@PathVariable時,不能省略value
錯誤的寫法
@FeignClient
(
"microservice-provider-user"
)
public
interface
UserFeignClient {
@RequestMapping
(value =
"/users/{id}"
, method = RequestMethod.GET)
public
User findById(
@PathVariable
Long id);
...
}
正確的寫法
@FeignClient
(
"microservice-provider-user"
)
public
interface
UserFeignClient {
@RequestMapping
(value =
"/users/{id}"
, method = RequestMethod.GET)
public
User findById(
@PathVariable
(
"id"
) Long id);
...
}
在我們直接寫接口時,如果value與屬性名相同時,是可以不寫的,但是在FeignClient中卻不能.