gpt4 book ai didi

groovy - Spring Boot groovy编译错误: Unexpected token @ @ line 45

转载 作者:行者123 更新时间:2023-12-01 10:39:28 24 4
gpt4 key购买 nike

我试图将我的 Spring Boot 项目中的 Java Controller 转换为 Groovy,并在尝试编译和运行时遇到最奇怪的错误

unexpected token: @ @ line 45, column 5
@RequestMapping(value = {"/v1/foo", "/foo"}, method = GET)
^

这让我很困惑。注释是 Java 或 Groovy 中的注释,对吗?我错过了什么?这是我的代码的抽象

// src/main/groovy/my/package/FooController.groovy, formerly .java

/// ... proper imports

@RestController
@EnableAutoConfiguration
public class FooController {

// ... @autowire services

@RequestMapping(value = {"/v1/foo", "/foo"}, method = GET)
public ResponseEntity get(@RequestHeader HttpHeaders headers) {
// do work return ResponseEntity
}

@RequestMapping(value = {"/v1/foo", "/foo"}, method = PUT)
public ResponseEntity put(@RequestHeader HttpHeaders headers, @ResponseBody @Valid final MyFoo myFoo) {
// do work return ResponseEntity
}
}

最佳答案

所以我只是愚蠢而错过了 Java 和 Groovy 之间的一个关键区别

问题是我传递给 @RequestMappingvalue

在 Java 中,{"/v1/foo", "foo"} 是一个数组字面量

在 Groovy 中,{"/v1/foo", "foo"} 是一个闭包

错误消息显然没有帮助,但要解决此问题,我只需要更改 Groovy 中的注释以按我的预期传入数组文字,而不是闭包

@RequestMapping(value = ["/v1/foo", "/foo"], method = GET)

关于groovy - Spring Boot groovy编译错误: Unexpected token @ @ line 45,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31417338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com