java - 将 @RequestLine 与 Feign 结合使用

标签 java netflix-feign

我有一个工作的 Feign 接口(interface)定义为:

@FeignClient("content-link-service")
public interface ContentLinkServiceClient {

    @RequestMapping(method = RequestMethod.GET, value = "/{trackid}/links")
    List<Link> getLinksForTrack(@PathVariable("trackid") Long trackId);

}

如果我将其更改为使用@RequestLine

@FeignClient("content-link-service")
public interface ContentLinkServiceClient {

    @RequestLine("GET /{trackid}/links")
    List<Link> getLinksForTrack(@Param("trackid") Long trackId);

}

我得到异常

Caused by: java.lang.IllegalStateException: Method getLinksForTrack not annotated with HTTP method type (ex. GET, POST)

有什么想法吗?

最佳答案

我没想到这会奏效。

@RequestLine 是核心 Feign 注释,但您使用的是 Spring Cloud @FeignClient,它使用 Spring MVC 注释。

关于java - 将 @RequestLine 与 Feign 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29985205/

相关文章:

java - OpenFeign 自定义错误解码器未捕获 ConnectionException

cloud-foundry - predix 中的 Feign 客户端通信(Cloud Foundry)

java - 通过java套接字传输文件客户端-服务器

java - 是否可以将 "Spring Boot like"环境抽象与普通 Spring 一起使用?

java - 为什么需要ReaderLock?

java - 单元测试 OSGi 组件

spring-boot - 伪装客户端和 Redis

java - 构建一个可以在验证客户端后存储客户端详细信息的 java 服务器

java - netflix.feign 和 openfeign 之间的区别

java - 在请求正文中发送原始数据