我必须映射一个REST Web服务URL,例如“http://server:8080/application/service/customer/v1” 在CreateCustomerBean类中创建createCustomer方法..
我做了以下映射..
*Web.xml*
<servlet-mapping>
<servlet-name>RestiveServlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
*Rest-Config.xml*
<jaxrs:server address="/customer/"
<jaxrs:serviceBean>
<ref bean="CreateCustomerBean"/>
</jaxrs:serviceBean>
</jaxrs:server>
现在问题是url的剩余路径(“http://server:8080/application/service/customer/v1”)是v1 rest all被映射,我必须在CreateCustomerBean类级别指定2个@Path属性,在createCustomer方法中指定一个那个bean ..所以我必须在v1之前附加“create”而url变成
@Path(/ create /)
CreateCustomerBean {
@Path(/ V1)
createClient(String request){ }
}
我不想要的http://server:8080/application/service/customer/create/v1/ ..是否有办法避免类级别的@Path属性并将所有请求指向createCustomer方法。
答案 0 :(得分:1)
在您的代码中,您可以重写这样的代码
@Path ("/v1")
CreateCustomerBean{
@Post
createClient(String request){ }
}
只要您指定POST属性,所有post请求都应该重定向到相应的方法。
希望它有所帮助。 干杯