我有一个Resource类,几乎所有方法都接受一个Foo类型的变量作为参数。在每个请求开始时,我需要处理这个对象。有没有办法可以将所有这些都移动到资源的构造函数中:
public class Resource{
public Resource(Foo foo){
// common lines of code
}
@POST
public methodOne(Foo foo){
}
}
我得到依赖错误如果我试试这个。
由于
答案 0 :(得分:1)
您可以使用依赖注入来注入Foo。 JEE6对JSR330有DI支持。
答案 1 :(得分:1)
您可以将公共代码移动到单独的方法,然后从每个请求方法中调用该方法:
...
private Foo processFoo(Foo foo)
{
Foo newFoo;
// common processing here
return newFoo;
}
@POST
public methodOne(Foo foo){
Foo processedFoo = processFoo(foo);
...
}
...