我正在尝试覆盖 Spring Social 的默认行为,以便在连接到提供商(Twitter、Facebook 等)后重定向到“connect/{providerId}Connected”。
所以我试图通过覆盖方法protected java.lang.String connectedView(java.lang.String providerId)来覆盖默认行为
所以我将 ConnectController 子类化并尝试覆盖:
@Controller
public class CustomConnectController extends ConnectController{
@Inject
public CustomConnectController(
ConnectionFactoryLocator connectionFactoryLocator,
ConnectionRepository connectionRepository) {
super(connectionFactoryLocator, connectionRepository);
}
@Override
protected String connectedView(String providerId){
//Do some logic
return "redirect:/foo/bar;
}
}
请参阅控制器类的文档: http: //static.springsource.org/spring-social/docs/1.0.x/api/org/springframework/social/connect/web/ConnectController.html
但我收到以下错误:
原因:java.lang.IllegalStateException:发现不明确的映射。无法映射 'org.springframework.social.connect.web.ConnectController#0' bean 方法 public org.springframework.web.servlet.view.RedirectView org.springframework.social.connect.web.ConnectController.connect(java.lang.String ,org.springframework.web.context.request.NativeWebRequest) 到 {[/connect/{providerId}],methods=[POST],params=[],headers=[],consumes=[],produces=[], custom=[]}:已经有 'customConnectController' bean 方法 public org.springframework.web.servlet.view.RedirectView org.springframework.social.connect.web.ConnectController.connect(java.lang.String,org.springframework. web.context.request.NativeWebRequest) 映射。
任何人都可以请指导。我的要求如下: 1. 用户连接社交帐户(Twitter、Facebook 等)后 2. 做一些业务逻辑 3. 重定向到 /foo/bar 页面
请帮忙。