{"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%2F%257B%2522User%255B%255D%2522%3A%257B%2522count%2522%3A3%2C%2522User%2522%3A%257B%2522name%25253F%2522%3A%2522%255E%255B0-9%255D%25252B%2524%2522%257D%257D%257D&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 3.10.0-957.27.2.el7.x86_64 \n 数据库: MYSQL 5.7.22 \n JDK: 11.0.15 amd64 \n APIJSON: 6.3.0\n\n**问题描述**\nGET请求,字符 name? 不合法! key:value 中的key只能关键词 '@key' 或 'key[逻辑符][条件符]' 或 PUT请求下的 'key+' / 'key-' ! \n\n \n\nPOST http://apijson.cn:8080/get/%7B%22User%5B%5D%22:%7B%22count%22:3,%22User%22:%7B%22name%253F%22:%22%5E%5B0-9%5D%252B%24%22%7D%7D%7D \n发送请求 Request JSON:\n ```js \n 请填写,例如 { \"Users\":{} } \n``` \n\n返回结果 Response JSON:\n ```js \n 请填写,例如 { \"Users\": {}, \"code\": 401, \"msg\": \"Users 不允许 UNKNOWN 用户的 GET 请求!\" } \n```","time":1713558332186,"sql:generate|cache|execute|maxExecute":"0|0|0|2000","depth:count|max":"3|5","time:start|duration|end|parse|sql":"1713558332184|2|1713558332186|2|0","trace:throw":"java.lang.IllegalArgumentException","trace:stack":[{"className":"apijson.orm.AbstractSQLConfig","fileName":"AbstractSQLConfig.java","lineNumber":5945,"methodName":"getRealKey","nativeMethod":false},{"className":"apijson.orm.AbstractSQLConfig","fileName":"AbstractSQLConfig.java","lineNumber":3442,"methodName":"getWhereItem","nativeMethod":false},{"className":"apijson.orm.AbstractSQLConfig","fileName":"AbstractSQLConfig.java","lineNumber":3222,"methodName":"getWhereString","nativeMethod":false},{"className":"apijson.orm.AbstractSQLConfig","fileName":"AbstractSQLConfig.java","lineNumber":2843,"methodName":"getWhereString","nativeMethod":false},{"className":"apijson.orm.AbstractSQLConfig","fileName":"AbstractSQLConfig.java","lineNumber":4557,"methodName":"getConditionString","nativeMethod":false},{"className":"apijson.orm.AbstractSQLConfig","fileName":"AbstractSQLConfig.java","lineNumber":4498,"methodName":"getSQL","nativeMethod":false},{"className":"apijson.orm.AbstractSQLConfig","fileName":"AbstractSQLConfig.java","lineNumber":4414,"methodName":"getSQL","nativeMethod":false},{"className":"apijson.demo.DemoSQLConfig","fileName":"DemoSQLConfig.java","lineNumber":305,"methodName":"getSQL","nativeMethod":false},{"className":"apijson.orm.AbstractSQLExecutor","fileName":"AbstractSQLExecutor.java","lineNumber":182,"methodName":"execute","nativeMethod":false},{"className":"apijson.demo.DemoSQLExecutor","fileName":"DemoSQLExecutor.java","lineNumber":365,"methodName":"execute","nativeMethod":false},{"className":"apijson.orm.AbstractParser","fileName":"AbstractParser.java","lineNumber":2032,"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":1095,"methodName":"onSQLExecute","nativeMethod":false},{"className":"apijson.orm.AbstractObjectParser","fileName":"AbstractObjectParser.java","lineNumber":933,"methodName":"executeSQL","nativeMethod":false},{"className":"apijson.orm.AbstractObjectParser","fileName":"AbstractObjectParser.java","lineNumber":38,"methodName":"executeSQL","nativeMethod":false},{"className":"apijson.orm.AbstractParser","fileName":"AbstractParser.java","lineNumber":1215,"methodName":"onObjectParse","nativeMethod":false},{"className":"apijson.orm.AbstractObjectParser","fileName":"AbstractObjectParser.java","lineNumber":578,"methodName":"onChildParse","nativeMethod":false},{"className":"apijson.orm.AbstractObjectParser","fileName":"AbstractObjectParser.java","lineNumber":282,"methodName":"parse","nativeMethod":false},{"className":"apijson.orm.AbstractObjectParser","fileName":"AbstractObjectParser.java","lineNumber":38,"methodName":"parse","nativeMethod":false},{"className":"apijson.orm.AbstractParser","fileName":"AbstractParser.java","lineNumber":1125,"methodName":"onObjectParse","nativeMethod":false},{"className":"apijson.orm.AbstractParser","fileName":"AbstractParser.java","lineNumber":1354,"methodName":"onArrayParse","nativeMethod":false},{"className":"apijson.orm.AbstractObjectParser","fileName":"AbstractObjectParser.java","lineNumber":558,"methodName":"onChildParse","nativeMethod":false},{"className":"apijson.orm.AbstractObjectParser","fileName":"AbstractObjectParser.java","lineNumber":282,"methodName":"parse","nativeMethod":false},{"className":"apijson.orm.AbstractObjectParser","fileName":"AbstractObjectParser.java","lineNumber":38,"methodName":"parse","nativeMethod":false},{"className":"apijson.orm.AbstractParser","fileName":"AbstractParser.java","lineNumber":1125,"methodName":"onObjectParse","nativeMethod":false},{"className":"apijson.orm.AbstractParser","fileName":"AbstractParser.java","lineNumber":527,"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":442,"methodName":"parseResponse","nativeMethod":false},{"className":"apijson.orm.AbstractParser","fileName":"AbstractParser.java","lineNumber":414,"methodName":"parse","nativeMethod":false},{"className":"apijson.framework.APIJSONController","fileName":"APIJSONController.java","lineNumber":93,"methodName":"parse","nativeMethod":false},{"className":"apijson.framework.APIJSONController","fileName":"APIJSONController.java","lineNumber":135,"methodName":"get","nativeMethod":false},{"className":"apijson.boot.DemoController","fileName":"DemoController.java","lineNumber":179,"methodName":"get","nativeMethod":false},{"className":"apijson.boot.DemoController","fileName":"DemoController.java","lineNumber":375,"methodName":"openGet","nativeMethod":false},{"className":"jdk.internal.reflect.GeneratedMethodAccessor169","lineNumber":-1,"methodName":"invoke","nativeMethod":false},{"className":"jdk.internal.reflect.DelegatingMethodAccessorImpl","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":43,"methodName":"invoke","moduleName":"java.base","moduleVersion":"11.0.15","nativeMethod":false},{"className":"java.lang.reflect.Method","fileName":"Method.java","lineNumber":566,"methodName":"invoke","moduleName":"java.base","moduleVersion":"11.0.15","nativeMethod":false},{"className":"org.springframework.web.method.support.InvocableHandlerMethod","fileName":"InvocableHandlerMethod.java","lineNumber":205,"methodName":"doInvoke","nativeMethod":false},{"className":"org.springframework.web.method.support.InvocableHandlerMethod","fileName":"InvocableHandlerMethod.java","lineNumber":150,"methodName":"invokeForRequest","nativeMethod":false},{"className":"org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod","fileName":"ServletInvocableHandlerMethod.java","lineNumber":117,"methodName":"invokeAndHandle","nativeMethod":false},{"className":"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter","fileName":"RequestMappingHandlerAdapter.java","lineNumber":895,"methodName":"invokeHandlerMethod","nativeMethod":false},{"className":"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter","fileName":"RequestMappingHandlerAdapter.java","lineNumber":808,"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":1067,"methodName":"doDispatch","nativeMethod":false},{"className":"org.springframework.web.servlet.DispatcherServlet","fileName":"DispatcherServlet.java","lineNumber":963,"methodName":"doService","nativeMethod":false},{"className":"org.springframework.web.servlet.FrameworkServlet","fileName":"FrameworkServlet.java","lineNumber":1006,"methodName":"processRequest","nativeMethod":false},{"className":"org.springframework.web.servlet.FrameworkServlet","fileName":"FrameworkServlet.java","lineNumber":898,"methodName":"doGet","nativeMethod":false},{"className":"javax.servlet.http.HttpServlet","fileName":"HttpServlet.java","lineNumber":645,"methodName":"service","nativeMethod":false},{"className":"org.springframework.web.servlet.FrameworkServlet","fileName":"FrameworkServlet.java","lineNumber":883,"methodName":"service","nativeMethod":false},{"className":"javax.servlet.http.HttpServlet","fileName":"HttpServlet.java","lineNumber":750,"methodName":"service","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":227,"methodName":"internalDoFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":162,"methodName":"doFilter","nativeMethod":false},{"className":"org.apache.tomcat.websocket.server.WsFilter","fileName":"WsFilter.java","lineNumber":53,"methodName":"doFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":189,"methodName":"internalDoFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":162,"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":117,"methodName":"doFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":189,"methodName":"internalDoFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":162,"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":117,"methodName":"doFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":189,"methodName":"internalDoFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":162,"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":117,"methodName":"doFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":189,"methodName":"internalDoFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":162,"methodName":"doFilter","nativeMethod":false},{"className":"org.apache.catalina.core.StandardWrapperValve","fileName":"StandardWrapperValve.java","lineNumber":197,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.core.StandardContextValve","fileName":"StandardContextValve.java","lineNumber":97,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.authenticator.AuthenticatorBase","fileName":"AuthenticatorBase.java","lineNumber":541,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.core.StandardHostValve","fileName":"StandardHostValve.java","lineNumber":135,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.valves.ErrorReportValve","fileName":"ErrorReportValve.java","lineNumber":92,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.core.StandardEngineValve","fileName":"StandardEngineValve.java","lineNumber":78,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.connector.CoyoteAdapter","fileName":"CoyoteAdapter.java","lineNumber":360,"methodName":"service","nativeMethod":false},{"className":"org.apache.coyote.http11.Http11Processor","fileName":"Http11Processor.java","lineNumber":399,"methodName":"service","nativeMethod":false},{"className":"org.apache.coyote.AbstractProcessorLight","fileName":"AbstractProcessorLight.java","lineNumber":65,"methodName":"process","nativeMethod":false},{"className":"org.apache.coyote.AbstractProtocol$ConnectionHandler","fileName":"AbstractProtocol.java","lineNumber":890,"methodName":"process","nativeMethod":false},{"className":"org.apache.tomcat.util.net.NioEndpoint$SocketProcessor","fileName":"NioEndpoint.java","lineNumber":1743,"methodName":"doRun","nativeMethod":false},{"className":"org.apache.tomcat.util.net.SocketProcessorBase","fileName":"SocketProcessorBase.java","lineNumber":49,"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":61,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":829,"methodName":"run","moduleName":"java.base","moduleVersion":"11.0.15","nativeMethod":false}]}