annotations - Spring Boot groovy compilation error: Unexpected token @ @ line 45 -


i'm trying convert java controller in spring boot project groovy, , getting strangest error when trying compile , run

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

this baffling me. annotations annotations in java or groovy, right? missing? here's abstraction of code

// 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) {       // work return responseentity     }      @requestmapping(value = {"/v1/foo", "/foo"}, method = put)     public responseentity put(@requestheader httpheaders headers, @responsebody @valid final myfoo myfoo) {       // work return responseentity     } } 

so i'm dumb , missed key differentiator between java , groovy

the problem value i'm passing @requestmapping

in java, {"/v1/foo", "foo"} array literal

in groovy, {"/v1/foo", "foo"} closure

the error message wasn't helpful, fix needed change annotation in groovy pass in array literal intended, not closure

@requestmapping(value = ["/v1/foo", "/foo"], method = get) 

Comments