我需要將授權頭添加到來自客戶端的所有傳出請求中,並且我按照this的說明添加了ClientRequestFilter
答案。從JAX RS客戶端刪除過濾器
現在我想改變我創建的過濾器的屬性。我試圖重新註冊過濾器的新副本,但沒有奏效。我試圖查看Client對象的可用方法,但沒有發現類似註銷或刪除的任何內容。
示例代碼:
Client client = ClientBuilder.newClient().register(new ClientObjectMapperProvider());
AuthTokenFilter authTokenFilter = new AuthTokenFilter(authTokenService, authConfig);
client.register(authTokenFilter);
//make some requests
//In another method in another class
AuthTokenFilter newFilter = new AuthTokenFilter(authTokenService, newConfig);
client.register(newFilter);
//make more requests
當我送註冊新的過濾器後的要求,我想在auth頭根據新的配置有所不同,但是這不會發生。
在進一步調查中,如果另一個相同類型已經註冊,客戶端對象似乎不會註冊一個對象。儘管如此,仍然沒有找到解除註冊的方法。
*我試圖重新註冊過濾器的新副本,但是沒有工作*代碼在哪裏? – nullpointer
@nullpointer我無法分享整個事情,因爲它分佈在多個文件中,並且有很多,但我已經編輯過包含基本想法。 – hoodakaushal