Spring CLI(v2.1.3)无法在简单的Groovy文件中使用Grab注释来获取弹簧依赖关系

时间:2019-03-09 14:26:02

标签: spring-boot groovy spring-cli

下面我正在尝试创建一个简单的Groovy文件,该文件将公开一个简单的服务,打个招呼,并通过实现ErrorController处理404错误(为避免出现白标签错误页面,我可以注入HttpServletRequest并检索状态,但这不是我现在关心的问题)

package org.test

@Grab("spring-boot-autoconfigure")
@Grab("spring-boot-autoconfigure-processor")

@RestController
public class HelloController implements ErrorController{

  @GetMapping(value="/hello")
  public String sayHello(){
    return "Hey Joker";
  }

  @Override
  public String getErrorPath(){
    return "/error";
  }

  @GetMapping(value="/error")
  public String notFoundException(){
   return "{error:'NOT_FOUND', message:'Resource Not Found'}";
  }
}

因此,当我运行> spring run restController.groovy时,我会得到:

file:/Users/xxxx/yyyy/restController.groovy: 3: unable to resolve class ErrorController
 @ line 3, column 1.
   @Grab("spring-boot-autoconfigure")
   ^

1 error

1 个答案:

答案 0 :(得分:0)

通过添加以下import语句,我能够启动控制器并调用hello端点(不知道为什么只需要ErrorController导入)

import org.springframework.boot.web.servlet.error.ErrorController