{
"User[]":{
"User":{
"name?":"^[0-9]+$"
},
"count":3
},
"ok":false,
"code":406,
"msg":"GET请求,字符 name? 不合法! key:value 中的key只能关键词 '@key' 或 'key[逻辑符][条件符]' 或 PUT请求下的 'key+' / 'key-' !",
"debug:info|help":"浏览器打开以下链接查看解答\n\n【APIAuto】: \n http://apijson.cn/api?type=JSON&url=http%3A%2F%2Fapijson.cn%3A8080%2Fget&json=%7B%22User%5B%5D%22%3A%7B%22User%22%3A%7B%22name%3F%22%3A%22%5E%5B0-9%5D%2B%24%22%7D%2C%22count%22%3A3%7D%7D \n\n【GitHub】: \n https://www.google.com/search?q=site%3Agithub.com%2FTencent%2FAPIJSON+++GET%E8%AF%B7%E6%B1%82%EF%BC%8C%E5%AD%97%E7%AC%A6+name%3F+%E4%B8%8D%E5%90%88%E6%B3%95%EF%BC%81+key%3Avalue+%E4%B8%AD%E7%9A%84key%E5%8F%AA%E8%83%BD%E5%85%B3%E9%94%AE%E8%AF%8D+%27%40key%27+%E6%88%96+%27key%5B%E9%80%BB%E8%BE%91%E7%AC%A6%5D%5B%E6%9D%A1%E4%BB%B6%E7%AC%A6%5D%27+%E6%88%96+PUT%E8%AF%B7%E6%B1%82%E4%B8%8B%E7%9A%84+%27key%2B%27+%2F+%27key-%27+%EF%BC%81 \n\n【Google】:\n https://www.google.com/search?q=GET%E8%AF%B7%E6%B1%82%EF%BC%8C%E5%AD%97%E7%AC%A6+name%3F+%E4%B8%8D%E5%90%88%E6%B3%95%EF%BC%81+key%3Avalue+%E4%B8%AD%E7%9A%84key%E5%8F%AA%E8%83%BD%E5%85%B3%E9%94%AE%E8%AF%8D+%27%40key%27+%E6%88%96+%27key%5B%E9%80%BB%E8%BE%91%E7%AC%A6%5D%5B%E6%9D%A1%E4%BB%B6%E7%AC%A6%5D%27+%E6%88%96+PUT%E8%AF%B7%E6%B1%82%E4%B8%8B%E7%9A%84+%27key%2B%27+%2F+%27key-%27+%EF%BC%81 \n\n【百度】:\n https://www.baidu.com/s?ie=UTF-8&wd=GET%E8%AF%B7%E6%B1%82%EF%BC%8C%E5%AD%97%E7%AC%A6+name%3F+%E4%B8%8D%E5%90%88%E6%B3%95%EF%BC%81+key%3Avalue+%E4%B8%AD%E7%9A%84key%E5%8F%AA%E8%83%BD%E5%85%B3%E9%94%AE%E8%AF%8D+%27%40key%27+%E6%88%96+%27key%5B%E9%80%BB%E8%BE%91%E7%AC%A6%5D%5B%E6%9D%A1%E4%BB%B6%E7%AC%A6%5D%27+%E6%88%96+PUT%E8%AF%B7%E6%B1%82%E4%B8%8B%E7%9A%84+%27key%2B%27+%2F+%27key-%27+%EF%BC%81 \n\n都没找到答案?打开这个链接 \n https://github.com/Tencent/APIJSON/issues/new?assignees=&labels=&template=--bug.md \n然后提交问题,推荐用以下模板修改,注意要换行保持清晰可读。 \n【标题】:GET请求,字符 name? 不合法! key:value 中的key只能关键词 '@key' 或 'key[逻辑符][条件符]' 或 PUT请求下的 'key+' / 'key-' ! \n【内容】: **环境信息** \n 系统: Linux 5.10.134-16.3.al8.x86_64 \n 数据库: MYSQL 8.0.11 \n JDK: 17.0.2 amd64 \n APIJSON: 7.0.3\n\n**问题描述**\nGET请求,字符 name? 不合法! key:value 中的key只能关键词 '@key' 或 'key[逻辑符][条件符]' 或 PUT请求下的 'key+' / 'key-' ! \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":1743246562605,
"sql:generate|cache|execute|maxExecute":"0|0|0|2000",
"depth:count|max":"3|5",
"time:start|duration|end|parse|sql":"1743246562604|1|1743246562605|1|0",
"trace:throw":"java.lang.IllegalArgumentException",
"trace:stack":[{
"className":"apijson.orm.AbstractSQLConfig",
"fileName":"AbstractSQLConfig.java",
"lineNumber":6023,
"methodName":"getRealKey",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractSQLConfig",
"fileName":"AbstractSQLConfig.java",
"lineNumber":3517,
"methodName":"getWhereItem",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractSQLConfig",
"fileName":"AbstractSQLConfig.java",
"lineNumber":3297,
"methodName":"getWhereString",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractSQLConfig",
"fileName":"AbstractSQLConfig.java",
"lineNumber":2918,
"methodName":"getWhereString",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractSQLConfig",
"fileName":"AbstractSQLConfig.java",
"lineNumber":4635,
"methodName":"getConditionString",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractSQLConfig",
"fileName":"AbstractSQLConfig.java",
"lineNumber":4573,
"methodName":"getSQL",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractSQLConfig",
"fileName":"AbstractSQLConfig.java",
"lineNumber":4489,
"methodName":"getSQL",
"nativeMethod":false
},{
"className":"apijson.demo.DemoSQLConfig",
"fileName":"DemoSQLConfig.java",
"lineNumber":410,
"methodName":"getSQL",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractSQLExecutor",
"fileName":"AbstractSQLExecutor.java",
"lineNumber":184,
"methodName":"execute",
"nativeMethod":false
},{
"className":"apijson.demo.DemoSQLExecutor",
"fileName":"DemoSQLExecutor.java",
"lineNumber":268,
"methodName":"execute",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractParser",
"fileName":"AbstractParser.java",
"lineNumber":2051,
"methodName":"executeSQL",
"nativeMethod":false
},{
"className":"apijson.demo.DemoParser",
"fileName":"DemoParser.java",
"lineNumber":130,
"methodName":"executeSQL",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":1114,
"methodName":"onSQLExecute",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":952,
"methodName":"executeSQL",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":39,
"methodName":"executeSQL",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractParser",
"fileName":"AbstractParser.java",
"lineNumber":1217,
"methodName":"onObjectParse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":597,
"methodName":"onChildParse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":283,
"methodName":"parse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":39,
"methodName":"parse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractParser",
"fileName":"AbstractParser.java",
"lineNumber":1127,
"methodName":"onObjectParse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractParser",
"fileName":"AbstractParser.java",
"lineNumber":1356,
"methodName":"onArrayParse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":560,
"methodName":"onChildParse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":283,
"methodName":"parse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractObjectParser",
"fileName":"AbstractObjectParser.java",
"lineNumber":39,
"methodName":"parse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractParser",
"fileName":"AbstractParser.java",
"lineNumber":1127,
"methodName":"onObjectParse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractParser",
"fileName":"AbstractParser.java",
"lineNumber":529,
"methodName":"parseResponse",
"nativeMethod":false
},{
"className":"apijson.framework.APIJSONParser",
"fileName":"APIJSONParser.java",
"lineNumber":117,
"methodName":"parseResponse",
"nativeMethod":false
},{
"className":"apijson.demo.DemoParser",
"fileName":"DemoParser.java",
"lineNumber":90,
"methodName":"parseResponse",
"nativeMethod":false
},{
"className":"apijson.orm.AbstractParser",
"fileName":"AbstractParser.java",
"lineNumber":444,
"methodName":"parseResponse",
"nativeMethod":false
},{
"className":"apijson.boot.DemoController",
"fileName":"DemoController.java",
"lineNumber":458,
"methodName":"openGet",
"nativeMethod":false
},{
"className":"jdk.internal.reflect.GeneratedMethodAccessor115",
"lineNumber":-1,
"methodName":"invoke",
"nativeMethod":false
},{
"className":"jdk.internal.reflect.DelegatingMethodAccessorImpl",
"fileName":"DelegatingMethodAccessorImpl.java",
"lineNumber":43,
"methodName":"invoke",
"moduleName":"java.base",
"moduleVersion":"17.0.2",
"nativeMethod":false
},{
"className":"java.lang.reflect.Method",
"fileName":"Method.java",
"lineNumber":568,
"methodName":"invoke",
"moduleName":"java.base",
"moduleVersion":"17.0.2",
"nativeMethod":false
},{
"className":"org.springframework.web.method.support.InvocableHandlerMethod",
"fileName":"InvocableHandlerMethod.java",
"lineNumber":255,
"methodName":"doInvoke",
"nativeMethod":false
},{
"className":"org.springframework.web.method.support.InvocableHandlerMethod",
"fileName":"InvocableHandlerMethod.java",
"lineNumber":188,
"methodName":"invokeForRequest",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod",
"fileName":"ServletInvocableHandlerMethod.java",
"lineNumber":118,
"methodName":"invokeAndHandle",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter",
"fileName":"RequestMappingHandlerAdapter.java",
"lineNumber":926,
"methodName":"invokeHandlerMethod",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter",
"fileName":"RequestMappingHandlerAdapter.java",
"lineNumber":831,
"methodName":"handleInternal",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter",
"fileName":"AbstractHandlerMethodAdapter.java",
"lineNumber":87,
"methodName":"handle",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.DispatcherServlet",
"fileName":"DispatcherServlet.java",
"lineNumber":1089,
"methodName":"doDispatch",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.DispatcherServlet",
"fileName":"DispatcherServlet.java",
"lineNumber":979,
"methodName":"doService",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.FrameworkServlet",
"fileName":"FrameworkServlet.java",
"lineNumber":1014,
"methodName":"processRequest",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.FrameworkServlet",
"fileName":"FrameworkServlet.java",
"lineNumber":903,
"methodName":"doGet",
"nativeMethod":false
},{
"className":"jakarta.servlet.http.HttpServlet",
"fileName":"HttpServlet.java",
"lineNumber":527,
"methodName":"service",
"nativeMethod":false
},{
"className":"org.springframework.web.servlet.FrameworkServlet",
"fileName":"FrameworkServlet.java",
"lineNumber":885,
"methodName":"service",
"nativeMethod":false
},{
"className":"jakarta.servlet.http.HttpServlet",
"fileName":"HttpServlet.java",
"lineNumber":614,
"methodName":"service",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":206,
"methodName":"internalDoFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":150,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.apache.tomcat.websocket.server.WsFilter",
"fileName":"WsFilter.java",
"lineNumber":51,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":175,
"methodName":"internalDoFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":150,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.springframework.web.filter.RequestContextFilter",
"fileName":"RequestContextFilter.java",
"lineNumber":100,
"methodName":"doFilterInternal",
"nativeMethod":false
},{
"className":"org.springframework.web.filter.OncePerRequestFilter",
"fileName":"OncePerRequestFilter.java",
"lineNumber":116,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":175,
"methodName":"internalDoFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":150,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.springframework.web.filter.FormContentFilter",
"fileName":"FormContentFilter.java",
"lineNumber":93,
"methodName":"doFilterInternal",
"nativeMethod":false
},{
"className":"org.springframework.web.filter.OncePerRequestFilter",
"fileName":"OncePerRequestFilter.java",
"lineNumber":116,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":175,
"methodName":"internalDoFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":150,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.springframework.web.filter.CharacterEncodingFilter",
"fileName":"CharacterEncodingFilter.java",
"lineNumber":201,
"methodName":"doFilterInternal",
"nativeMethod":false
},{
"className":"org.springframework.web.filter.OncePerRequestFilter",
"fileName":"OncePerRequestFilter.java",
"lineNumber":116,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":175,
"methodName":"internalDoFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.ApplicationFilterChain",
"fileName":"ApplicationFilterChain.java",
"lineNumber":150,
"methodName":"doFilter",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.StandardWrapperValve",
"fileName":"StandardWrapperValve.java",
"lineNumber":167,
"methodName":"invoke",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.StandardContextValve",
"fileName":"StandardContextValve.java",
"lineNumber":90,
"methodName":"invoke",
"nativeMethod":false
},{
"className":"org.apache.catalina.authenticator.AuthenticatorBase",
"fileName":"AuthenticatorBase.java",
"lineNumber":482,
"methodName":"invoke",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.StandardHostValve",
"fileName":"StandardHostValve.java",
"lineNumber":115,
"methodName":"invoke",
"nativeMethod":false
},{
"className":"org.apache.catalina.valves.ErrorReportValve",
"fileName":"ErrorReportValve.java",
"lineNumber":93,
"methodName":"invoke",
"nativeMethod":false
},{
"className":"org.apache.catalina.core.StandardEngineValve",
"fileName":"StandardEngineValve.java",
"lineNumber":74,
"methodName":"invoke",
"nativeMethod":false
},{
"className":"org.apache.catalina.connector.CoyoteAdapter",
"fileName":"CoyoteAdapter.java",
"lineNumber":344,
"methodName":"service",
"nativeMethod":false
},{
"className":"org.apache.coyote.http11.Http11Processor",
"fileName":"Http11Processor.java",
"lineNumber":391,
"methodName":"service",
"nativeMethod":false
},{
"className":"org.apache.coyote.AbstractProcessorLight",
"fileName":"AbstractProcessorLight.java",
"lineNumber":63,
"methodName":"process",
"nativeMethod":false
},{
"className":"org.apache.coyote.AbstractProtocol$ConnectionHandler",
"fileName":"AbstractProtocol.java",
"lineNumber":896,
"methodName":"process",
"nativeMethod":false
},{
"className":"org.apache.tomcat.util.net.NioEndpoint$SocketProcessor",
"fileName":"NioEndpoint.java",
"lineNumber":1736,
"methodName":"doRun",
"nativeMethod":false
},{
"className":"org.apache.tomcat.util.net.SocketProcessorBase",
"fileName":"SocketProcessorBase.java",
"lineNumber":52,
"methodName":"run",
"nativeMethod":false
},{
"className":"org.apache.tomcat.util.threads.ThreadPoolExecutor",
"fileName":"ThreadPoolExecutor.java",
"lineNumber":1191,
"methodName":"runWorker",
"nativeMethod":false
},{
"className":"org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker",
"fileName":"ThreadPoolExecutor.java",
"lineNumber":659,
"methodName":"run",
"nativeMethod":false
},{
"className":"org.apache.tomcat.util.threads.TaskThread$WrappingRunnable",
"fileName":"TaskThread.java",
"lineNumber":63,
"methodName":"run",
"nativeMethod":false
},{
"className":"java.lang.Thread",
"fileName":"Thread.java",
"lineNumber":833,
"methodName":"run",
"moduleName":"java.base",
"moduleVersion":"17.0.2",
"nativeMethod":false
}],
"@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%22User%5B%5D%22%3A%7B%22count%22%3A3%2C%22User%22%3A%7B%22name%3F%22%3A%22%5E%5B0-9%5D%2B%24%22%7D%7D%7D"
}