Dropwizard资源类调用另一个资源方法类?

时间:2016-11-04 19:45:39

标签: java json dropwizard

我想知道dropwizard是否有可能从另一个资源类调用另一个资源方法类。

我查看了其他帖子并使用ResourceContext允许从另一个资源类调用get方法,但也可以使用另一个资源类的post方法。

假设我们有两个资源类A和B.在A类中,我创建了一些JSON,我想使用B的post方法将该JSON发布到B类。这可能吗?

1 个答案:

答案 0 :(得分:3)

是的,资源上下文可用于从相同或不同资源中的其他方法访问POSTGET方法。
@Context的帮助下,您可以轻松访问这些方法。

@Path("a")
class A{
    @GET
    public Response getMethod(){
        return Response.ok().build();
    }
    @POST
    public Response postMethod(ExampleBean exampleBean){
        return Response.ok().build();
    }
}

您现在可以通过以下方式从Resource A访问Resource B的方法。

@Path("b")
class B{
    @Context 
    private javax.ws.rs.container.ResourceContext rc;

    @GET
    public Response callMethod(){
        //Calling GET method
        Response response = rc.getResource(A.class).getMethod();

        //Initialize Bean or paramter you have to send in the POST method
        ExampleBean exampleBean = new ExampleBean();

        //Calling POST method
        Response response = rc.getResource(A.class).postMethod(exampleBean);

        return Response.ok(response).build();
    }
}