当我尝试构建项目时,我收到以下错误消息:
: Unsatisfied dependency expressed through method 'webClient' parameter 0;
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type
'org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository'
available: expected at least 1 bean which qualifies as autowire candidate.
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序属性:
spring.security.oauth2.client.registration.eipo.authorization-grant-type=client_credentials
spring.security.oauth2.client.registration.eipo.token-uri=https://devapi.somedomain.co.xx/v1/auth/token
spring.security.oauth2.client.registration.eipo.client-id=randomClientId
spring.security.oauth2.client.registration.eipo.client-secret=T#%*sty%xp4^sdxb(e*
spring.main.web-application-type= reactive
Run Code Online (Sandbox Code Playgroud)
这是我的配置类:
@Configuration
public class WebClientConfig {
@Bean
WebClient webClient(ReactiveClientRegistrationRepository clientRegistrations) {
ServerOAuth2AuthorizedClientExchangeFilterFunction oauth =
new ServerOAuth2AuthorizedClientExchangeFilterFunction(
clientRegistrations,
new UnAuthenticatedServerOAuth2AuthorizedClientRepository());
oauth.setDefaultClientRegistrationId("eipo");
return WebClient.builder()
.filter(oauth)
.build();
}
}
Run Code Online (Sandbox Code Playgroud)
这是服务类别:
@Slf4j
@Service
public class SettlementService
@Autowired
private WebClient webClient;
public void getAuthThenGetResource(){
... //trying to …Run Code Online (Sandbox Code Playgroud)