【问题标题】:basePacakage for many project in @RestControllerAdvice@RestControllerAdvice 中许多项目的 basePacakage
【发布时间】:2017-06-15 07:40:31
【问题描述】:

我有多个子项目的父项目。 所有项目都以 basepakage org.dordas.{project name}.web.controller 开头。 我想用一个基本包配置 controllerAdvice 中的所有项目,但(星号)不起作用。

@RestControllerAdvice(basePackages = { "org.baharan.**.web.rest" })

【问题讨论】:

  • basePackages 不接受正则表达式/ant 样式表达式。它仅用于检查包是否以该名称开头。所以确实一个明星是行不通的。您必须定义每个基础包。
  • @M.Deinum 我不能。我有多个子项目的父项目。我希望在父项目中配置 controllerAdvice 而不会更改子项目。

标签: spring exception spring-boot exception-handling spring-rest


【解决方案1】:

让我们说:

project
   |___ lib (module)
   |___ api (module)

你想将RestControllerAdvicelib module分享到api module

lib module

@RestControllerAdvice
public class ExceptionAdvice {

    @ExceptionHandler
    public Type handler(Exception e){.....}

}

api module下面添加这个配置

@SpringBootApplication
@Import({ExceptionAdvice.class})
public class FileServiceApplication {... }

【讨论】:

    猜你喜欢
    • 2017-06-14
    • 2012-09-25
    • 2012-02-24
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    相关资源
    最近更新 更多