簡體   English   中英

如何注冊 ContainerRequestFilter 並將變量傳遞給它?

[英]How to register ContainerRequestFilter and pass a variable into it?

有沒有辦法將 ContainerRequestFilter 注冊到 ResourceConfig 並將變量傳遞給它的構造函數?

以下是過濾器代碼

public class TestRequestFilter implements ContainerRequestFilter{
   String operationType;

   public TestRequestFilter (){}

   public TestRequestFilter (String opType){
      this.operationType = opType;
   }
   
   @Override
   public void filter(ContainerRequestContext requestContext) {
    // TODO Auto-generated method stub
    
   }
}

為了注冊這個過濾器,我使用了 ResourceConfig 如下

public class MyApplication extends ResourceConfig {

/**
 * Register JAX-RS application components.
 */
public MyApplication () {
    register(TestRequestFilter.class);
    register(JacksonFeature.class);
    register(CustomerResource.class);
    register(Initializer.class);
    register(JerseyResource.class);
}
}

有什么方法可以用 opType 構造函數注冊這個過濾器嗎?

使用單個構造函數創建 class,創建 object 並注冊創建的 object。

public class TestRequestFilter implements ContainerRequestFilter{
   private String operationType;

   public TestRequestFilter (String opType){
      this.operationType = opType;
   }
   
   @Override
   public void filter(ContainerRequestContext requestContext) {
       //your code
   }
}

登記:

ResourceConfig.register(new TestRequestFilter("osType"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM