{
"[]":{
"Moment":{
"@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"
},
"count":10
},
"ok":false,
"code":406,
"msg":"字符 userId,max 不合法!预编译模式下 @column:\"column0,column1:alias1;function0(arg0,arg1,...);function1(...):alias2...\" 中 function 必须符合小写英文单词的 SQL 函数名格式!且必须是后端允许调用的 SQL 函数!",
"debug:info|help":"浏览器打开以下链接查看解答\n\n【APIAuto】: \n http://apijson.cn/api?type=JSON&url=http%3A%2F%2Fapijson.cn%3A8080%2Fget&json=%7B%22%5B%5D%22%3A%7B%22Moment%22%3A%7B%22%40column%22%3A%22userId%2Cmax%28id%29%22%2C%22%40group%22%3A%22userId%22%2C%22%40having%22%3A%22max%28id%29%3E%3D100%22%7D%2C%22count%22%3A10%7D%7D \n\n【GitHub】: \n https://www.google.com/search?q=site%3Agithub.com%2FTencent%2FAPIJSON+++%E5%AD%97%E7%AC%A6+userId%2Cmax+%E4%B8%8D%E5%90%88%E6%B3%95%EF%BC%81%E9%A2%84%E7%BC%96%E8%AF%91%E6%A8%A1%E5%BC%8F%E4%B8%8B+%40column%3A%22column0%2Ccolumn1%3Aalias1%3Bfunction0%28arg0%2Carg1%2C...%29%3Bfunction1%28...%29%3Aalias2...%22+%E4%B8%AD+function+%E5%BF%85%E9%A1%BB%E7%AC%A6%E5%90%88%E5%B0%8F%E5%86%99%E8%8B%B1%E6%96%87%E5%8D%95%E8%AF%8D%E7%9A%84+SQL+%E5%87%BD%E6%95%B0%E5%90%8D%E6%A0%BC%E5%BC%8F%EF%BC%81%E4%B8%94%E5%BF%85%E9%A1%BB%E6%98%AF%E5%90%8E%E7%AB%AF%E5%85%81%E8%AE%B8%E8%B0%83%E7%94%A8%E7%9A%84+SQL+%E5%87%BD%E6%95%B0%21 \n\n【Google】:\n https://www.google.com/search?q=%E5%AD%97%E7%AC%A6+userId%2Cmax+%E4%B8%8D%E5%90%88%E6%B3%95%EF%BC%81%E9%A2%84%E7%BC%96%E8%AF%91%E6%A8%A1%E5%BC%8F%E4%B8%8B+%40column%3A%22column0%2Ccolumn1%3Aalias1%3Bfunction0%28arg0%2Carg1%2C...%29%3Bfunction1%28...%29%3Aalias2...%22+%E4%B8%AD+function+%E5%BF%85%E9%A1%BB%E7%AC%A6%E5%90%88%E5%B0%8F%E5%86%99%E8%8B%B1%E6%96%87%E5%8D%95%E8%AF%8D%E7%9A%84+SQL+%E5%87%BD%E6%95%B0%E5%90%8D%E6%A0%BC%E5%BC%8F%EF%BC%81%E4%B8%94%E5%BF%85%E9%A1%BB%E6%98%AF%E5%90%8E%E7%AB%AF%E5%85%81%E8%AE%B8%E8%B0%83%E7%94%A8%E7%9A%84+SQL+%E5%87%BD%E6%95%B0%21 \n\n【百度】:\n https://www.baidu.com/s?ie=UTF-8&wd=%E5%AD%97%E7%AC%A6+userId%2Cmax+%E4%B8%8D%E5%90%88%E6%B3%95%EF%BC%81%E9%A2%84%E7%BC%96%E8%AF%91%E6%A8%A1%E5%BC%8F%E4%B8%8B+%40column%3A%22column0%2Ccolumn1%3Aalias1%3Bfunction0%28arg0%2Carg1%2C...%29%3Bfunction1%28...%29%3Aalias2...%22+%E4%B8%AD+function+%E5%BF%85%E9%A1%BB%E7%AC%A6%E5%90%88%E5%B0%8F%E5%86%99%E8%8B%B1%E6%96%87%E5%8D%95%E8%AF%8D%E7%9A%84+SQL+%E5%87%BD%E6%95%B0%E5%90%8D%E6%A0%BC%E5%BC%8F%EF%BC%81%E4%B8%94%E5%BF%85%E9%A1%BB%E6%98%AF%E5%90%8E%E7%AB%AF%E5%85%81%E8%AE%B8%E8%B0%83%E7%94%A8%E7%9A%84+SQL+%E5%87%BD%E6%95%B0%21 \n\n都没找到答案?打开这个链接 \n https://github.com/Tencent/APIJSON/issues/new?assignees=&labels=&template=--bug.md \n然后提交问题,推荐用以下模板修改,注意要换行保持清晰可读。 \n【标题】:字符 userId,max 不合法!预编译模式下 @column:\"column0,column1:alias1;function0(arg0,arg1,...);function1(...):alias2...\" 中 function 必须符合小写英文单词的 SQL 函数名格式!且必须是后端允许调用的 SQL 函数! \n【内容】: **环境信息** \n 系统: Linux 5.10.134-19.1.al8.x86_64 \n 数据库: MYSQL 8.0.11 \n JDK: 17.0.2 amd64 \n APIJSON: 8.2.0\n\n**问题描述**\n字符 userId,max 不合法!预编译模式下 @column:\"column0,column1:alias1;function0(arg0,arg1,...);function1(...):alias2...\" 中 function 必须符合小写英文单词的 SQL 函数名格式!且必须是后端允许调用的 SQL 函数! \n\n \n\nPOST http://apijson.cn:8080/get \n发送请求 Request JSON:\n ```js \n 请填写,例如 { \"Users\":{} } \n``` \n\n返回结果 Response JSON:\n ```js \n 请填写,例如 { \"Users\": {}, \"code\": 401, \"msg\": \"Users 不允许 UNKNOWN 用户的 GET 请求!\" } \n```",
"time":1784618228185,
"sql:generate|cache|execute|maxExecute":"0|0|0|200",
"depth:count|max":"3|5",
"time:start|duration|end|parse|sql":"1784618228183|2|1784618228185|2|0",
"trace:throw":"java.lang.IllegalArgumentException",
"trace:stack":[
"apijson.orm.AbstractSQLConfig.parseSQLExpression(AbstractSQLConfig.java:2521)",
"apijson.orm.AbstractSQLConfig.gainColumnString(AbstractSQLConfig.java:2430)",
"apijson.orm.AbstractSQLConfig.gainColumnString(AbstractSQLConfig.java:2248)",
"apijson.orm.AbstractSQLConfig.gainSQL(AbstractSQLConfig.java:5012)",
"apijson.orm.AbstractSQLConfig.gainSQL(AbstractSQLConfig.java:4938)",
"apijson.demo.DemoSQLConfig.gainSQL(DemoSQLConfig.java:504)",
"apijson.orm.AbstractSQLExecutor.execute(AbstractSQLExecutor.java:171)",
"apijson.demo.DemoSQLExecutor.execute(DemoSQLExecutor.java:263)",
"apijson.demo.DemoSQLExecutor.execute(DemoSQLExecutor.java:59)",
"apijson.orm.AbstractParser.executeSQL(AbstractParser.java:2147)",
"apijson.demo.DemoParser.executeSQL(DemoParser.java:144)",
"apijson.demo.DemoParser.executeSQL(DemoParser.java:39)",
"apijson.orm.AbstractObjectParser.onSQLExecute(AbstractObjectParser.java:1179)",
"apijson.orm.AbstractObjectParser.executeSQL(AbstractObjectParser.java:1014)",
"apijson.orm.AbstractObjectParser.executeSQL(AbstractObjectParser.java:32)",
"apijson.orm.AbstractParser.onObjectParse(AbstractParser.java:1290)",
"apijson.orm.AbstractObjectParser.onChildParse(AbstractObjectParser.java:655)",
"apijson.orm.AbstractObjectParser.parse(AbstractObjectParser.java:315)",
"apijson.orm.AbstractObjectParser.parse(AbstractObjectParser.java:32)",
"apijson.orm.AbstractParser.onObjectParse(AbstractParser.java:1195)",
"apijson.orm.AbstractParser.onArrayParse(AbstractParser.java:1435)",
"apijson.orm.AbstractObjectParser.onChildParse(AbstractObjectParser.java:618)",
"apijson.orm.AbstractObjectParser.parse(AbstractObjectParser.java:315)",
"apijson.orm.AbstractObjectParser.parse(AbstractObjectParser.java:32)",
"apijson.orm.AbstractParser.onObjectParse(AbstractParser.java:1195)",
"apijson.orm.AbstractParser.parseResponse(AbstractParser.java:588)",
"apijson.framework.APIJSONParser.parseResponse(APIJSONParser.java:135)",
"apijson.demo.DemoParser.parseResponse(DemoParser.java:102)",
"apijson.demo.DemoParser.parseResponse(DemoParser.java:39)",
"apijson.orm.AbstractParser.parseResponse(AbstractParser.java:493)",
"apijson.boot.DemoController.openGet(DemoController.java:440)",
"java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
"java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)",
"java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"java.base/java.lang.reflect.Method.invoke(Method.java:568)",
"org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)",
"org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188)",
"org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)",
"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926)",
"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831)",
"org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)",
"org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)",
"org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)",
"org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)",
"org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)",
"jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)",
"org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)",
"jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150)",
"org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150)",
"apijson.boot.RepeatHeaderFilter.doFilterInternal(RepeatHeaderFilter.java:58)",
"org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150)",
"org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)",
"org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150)",
"org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)",
"org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150)",
"org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)",
"org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150)",
"org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)",
"org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)",
"org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)",
"org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)",
"org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)",
"org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)",
"org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)",
"org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391)",
"org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)",
"org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896)",
"org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)",
"org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)",
"org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)",
"org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)",
"org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)",
"java.base/java.lang.Thread.run(Thread.java:833)"
],
"@link":"http://apijson.cn:8080/api/index.html?send=false&redirect=false&type=JSON&decode=true&url=http%3A%2F%2Fapijson.cn%3A8080%2Fget&json=%7B%22%5B%5D%22%3A%7B%22count%22%3A10%2C%22Moment%22%3A%7B%22%40column%22%3A%22userId%2Cmax%28id%29%22%2C%22%40group%22%3A%22userId%22%2C%22%40having%22%3A%22max%28id%29%3E%3D100%22%7D%7D%7D"
}