Lit*_*ski 4 java twitter spring spring-mvc spring-social
我试图覆盖Spring Social的默认行为,一旦连接到提供商(Twitter,Facebook等),就会重定向到"connect/{providerId} Connected".
所以我试图通过重写受保护的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;
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅控制器类的文档: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 = [],consume = [],produce = [], 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页面
请帮忙.
好的,我自己找到了解决方案.为每个人发布答案,以便任何挣扎于愚蠢事情的人都可能受益:
实际上我在我的配置中配置了ConnectController,现在自定义控制器正在踩踏它,因此它已经说明已映射.从配置中删除配置可以解决问题.
在我的情况下删除以下代码:
<bean class="org.springframework.social.connect.web.ConnectController">
relies on by-type autowiring for the constructor-args
<property name="applicationUrl" value="${application.url}" />
</bean>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3033 次 |
| 最近记录: |