codeconsole commented on issue #15147:
URL: https://github.com/apache/grails-core/issues/15147#issuecomment-3423205014
@jdaugherty you should be able to replicate via a simple controller
```groovy
package data.binding.bug
import grails.converters.JSON
class TestController {
def show(String id) { // success
render([success: true] as JSON)
}
def submit(long id, long imageId) { // error: Cannot cast object '###'
with class 'java.lang.String' to class 'long'.
render([success: true] as JSON)
}
def dq(Long id, Long imageId) { // error: Cannot cast object '###' with
class 'java.lang.String' to class 'long'.
render([success: true] as JSON)
}
}
```
```
curl "http://localhost:8080/test/submit/123456789.json?imageId=123456789"
```
```
2025-10-20T11:07:28.035-07:00 ERROR 34235 --- [nio-8080-exec-4]
o.g.web.errors.GrailsExceptionResolver : GroovyCastException occurred when
processing request: [GET] /test/submit/123456789.json - parameters:
imageId: 123456789
Cannot cast object '123456789' with class 'java.lang.String' to class
'long'. Stacktrace follows:
java.lang.reflect.InvocationTargetException: null
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:110)
at
org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker.invoke(DefaultGrailsControllerClass.java:215)
at
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:192)
at
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:110)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:80)
at
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:70)
at java.base/java.lang.Thread.run(Thread.java:1447)
Caused by: org.codehaus.groovy.runtime.typehandling.GroovyCastException:
Cannot cast object '123456789' with class 'java.lang.String' to class 'long'
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 11 common frames omitted
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]