【问题标题】:Can you apply @ControllerAdvice to Spring Data Repository*Controllers generated from Repository interfaces?您可以将 @ControllerAdvice 应用于从 Repository 接口生成的 Spring Data Repository*Controllers 吗?
【发布时间】:2015-07-20 20:23:45
【问题描述】:

我有一个带有实体的 Spring Boot,例如...

@Entity
public class Thing {
    ...
}

...以及相关的存储库,例如...

public interface ThingRepository extends Repository<Thing, Long> {
}

这个接口的存在导致 Spring 的 Repository*Controller 控制器自动处理我的所有需求,免费提供实现。这很棒,效果很好。

我希望所有这些控制器都支持 JSONP 回调。我已经使用适当的控制器建议定义了一个单独的类。

@ControllerAdvice
public class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
    public JsonpAdvice() {
        super("callback");
    }
}

只需在我的代码库中定义一次此类,就会导致所有手动创建的控制器自动受到建议的影响。不幸的是,Repository*Controllers 不是。

有谁知道是否有办法告诉 spring 将我的控制器建议也应用于这些控制器?

谢谢。

【问题讨论】:

    标签: spring spring-mvc spring-boot spring-data


    【解决方案1】:

    太棒了……

    @ControllerAdvice(basePackages = {""org.springframework.data.rest.webmvc", "my.own.package"})
    

    起初我以为控制器是自动生成的,但当我输入问题时我改进了我的理解,然后意识到这个问题是多么愚蠢。 =)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-09
      • 2013-10-03
      • 2016-02-10
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多