RequestHandler
CXFでJAX-RSベースのWebサービスを作成していますが、として登録されているメソッドに渡されるパラメーターを取得したいと思います<jaxrs:provider>
。
ハンドラーにパラメーター名と対応する値が必要です。コードは次のとおりです。
public class SampleRequestHandler implements RequestHandler {
@Override
public Response handleRequest(Message arg0, ClassResourceInfo arg1) {
OperationResourceInfo resourceInfo = arg0.getExchange().get(OperationResourceInfo.class);
String name = resourceInfo.getMethodToInvoke().getName();
return null;
}
}
私のJAX-RSベースのサービス:
@Service("bookService")
@Path("/bookstore")
public class BookStore {
@POST
@Path("/books")
@Produces({ "application/xml" })
@Consumes({ "application/xml" })
public Book addBook(Book book) {
return book;
}
}
beans.xml
ハンドラーとRESTfulサービスを登録した場所:
<context:component-scan base-package="com.tutorial.cxf.jaxrs.service"/>
<bean id="sampleHandler" class="com.tutorial.cxf.jaxrs.interceptors.SampleRequestHandler"/>
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>
<ref bean="bookService"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="sampleHandler"/>
</jaxrs:providers>
</jaxrs:server>
誰かがすでにこのケースを管理していますか?