使用Java类型参数实现openFeign

时间:2018-07-11 12:57:22

标签: java type-parameter netflix-feign feign

import feign.Headers;
import feign.Param;
import feign.RequestLine;

@Headers({"Accept: application/json", "Content-type: application/json"})
public interface TestApi<T> {

@RequestLine("GET /test/{uuid}")
T get(@Param("uuid") UUID uuid);

@RequestLine("POST /test")
T create(T newEntity);

@RequestLine("DELETE /test/{uuid}")
T delete(@Param("uuid") UUID uuid);

@RequestLine("PUT /test/{uuid}")
T update(@Param("uuid") UUID uuid, T updatedEntity);

}

interface FooApi extends TestApi<AnotherTestOne> { }

interface BarApi extends TestApi<AnotherTestTwo> { }

这是示例在https://github.com/OpenFeign/feign#advanced-usage中的显示方式。

在我的情况下,FooApi和BarApi已被定义为单独的接口。

问题: 1.我应该从那里删除它们并添加到这里吗?

  1. 运行测试时,出现错误

    java.lang.IllegalStateException:不支持的参数化类型:TestApi 请求提示或工作示例的帮助

0 个答案:

没有答案