@RequestMapping annotation is not allowed on @FeignClient interfaces.
时间: 2024-10-16 18:09:31 浏览: 13
02@RequestMapping映射.md
`@RequestMapping`注解不能应用在`@FeignClient`接口上,这是因为`@FeignClient`是一个来自Spring Cloud Netflix Feign库的注解,它用于声明一个外部API的服务提供者,而不是一个处理HTTP请求的本地控制器。`@RequestMapping`用于定义Spring MVC中处理HTTP请求的控制器方法。
当你试图将`@RequestMapping`放在`@FeignClient`接口上,这表明你可能想让Feign自动映射某些请求到远程服务,但实际上,你应该将这些映射放在`@FeignInterface`的接口方法上,或者是`@GetMapping`,`@PostMapping`等直接在Feign客户端接口的方法上。
正确的做法是这样:
```java
@FeignInterface
public interface MyApi {
@GetMapping("/endpoint")
String getData();
}
```
然后在Feign客户端配置类中引用此接口:
```java
@Configuration
@EnableFeignClients(basePackages = "com.example.client")
public class FeignConfig {
@Bean
public MyApi myApi() {
return Feign.builder().target(MyApi.class, "http://api.example.com");
}
}
```
阅读全文