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
Post a Comment