2

RequestHandlerCXFで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>

誰かがすでにこのケースを管理していますか?

4

1 に答える 1