2016-03-30 13 views
0

Ich verwende den oAuth2-Client für die Federfedersicherheit. Und es gibt Standard OAuth2RestTemplate Erklärung, die wieÜberschreiben der Standard-OAuth2RestTemplate im Spring-Kontext

@Bean 
@Primary 
public OAuth2RestTemplate oauth2RestTemplate(OAuth2ClientContext oauth2ClientContext, 
     OAuth2ProtectedResourceDetails details) { 
    OAuth2RestTemplate template = new OAuth2RestTemplate(details, 
      oauth2ClientContext); 
    return template; 
} 

Was Handhabung wie hier die Frage

@Bean 
public OAuth2RestTemplate restTemplate(OAuth2ClientContext oauth2ClientContext,  
     OAuth2ProtectedResourceDetails details) { 
    OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(details, oauth2Context); 

    restTemplate.setErrorHandler(new DefaultResponseErrorHandler() { 
     @Override 
     public void handleError(ClientHttpResponse response) throws IOException { 
      // do some stuff 
     } 
    }); 

    return restTemplate; 
} 

ist ich brauche, ist zu bieten individuelle Fehler Standard, dass ich versuche, es in einen Kontext zu setzen sieht so Umsetzung ist als @Primary annotiert und so frage ich mich, wie das übersteuert werden kann?

Antwort

0

Anstatt die Standardimplementierung zu überschreiben, können Sie wahrscheinlich nur die Standardinstanz abrufen und alle Eigenschaften festlegen, die Sie benötigen. Siehe das Beispiel unten.

@Configuration 
public class OverridenConfiguration { 
    @Autowire 
    private OAuth2RestTemplate restTemplate; 

    @PostConstruct 
    public void customSettings() { 
     System.out.println("************** custom settings ***********"); 
     restTemplate.setErrorHandler(new DefaultResponseErrorHandler() { 
      @Override 
      public void handleError(ClientHttpResponse response) throws IOException { 
       // do some stuff 
      } 
     }); 
    } 
} 
Verwandte Themen