Apache cxf - jaxrs客户端弹簧配置(注入代理)

时间:2016-07-04 06:59:25

标签: java web-services spring-mvc jax-rs cxf

我使用(示例)网址使用REST网络服务,如:

http://www.restsampleservice.com/api?username=tom&password=jerry

此网址的ws返回用户安全码。

目标:

我想将这个Rest ws集成到我的Spring网络应用程序中。那么我的JaxRS客户端服务类和地址应该如何在上下文xml中?

请在下面找到我的假设:

<jaxrs:client id="restClient"
       address=" http://www.restsampleservice.com/api?username=tom&password=jerry"
       serviceClass=?
       inheritHeaders="true">
       <jaxrs:headers>
           <entry key="Accept" value="text/plain"/>
       </jaxrs:headers>
</jaxrs:client>  

1 个答案:

答案 0 :(得分:4)

您需要像这样的代理类

public interface RestClient{

    @GET
    @Path("/")
    public String getUserSecureCode( @QueryParam("username") String username ,@QueryParam("password") String password)
}

spring文件看起来像这样

<jaxrs:client id="restClient"
   address="http://www.restsampleservice.com/api"
   serviceClass="test.RestClient"
   inheritHeaders="true">
   <jaxrs:headers>
       <entry key="Accept" value="text/plain"/>
   </jaxrs:headers>
</jaxrs:client> 

您也可以使用服务器端的界面

public class RestClientImpl implements RestClient{
    public String getUserSecureCode( String username , String password){
        //doSomething...
        return userSecureCode
    }
}