Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGETS 返回错误内容 #115
GETS 返回错误内容 #115
Comments
|
3.GET、HEAD请求是开放请求,可任意组合任意嵌套。其它请求为受限制的安全/私密请求,对应的 方法、tag、结构 都必须和 后端Request表中所指定的 一一对应,否则请求将不被通过。下同。 https://github.com/APIJSON/APIJSON/blob/master/Document.md#3.1 |
|
文档中根本就没有提到version的内容,而且我现在已经添加了version的信息,再次请求,仍然有错误 后台数据库Request表记录: 前台仍是报错: 后台异常信息如下: |
|
经测试,在调用GETS时,使用如下参数可以得到返回值: 经测试,在Structure类中方法public static JSONObject parse(String name, JSONObject target, JSONObject real, SQLCreator creator, @NotNull OnParseCallback callback) throws Exception中的一段代码如下: |
|
在前端请求的 JSON 参数里,就只有 tag 的区别。 |
|
关于 version 确实没在项目文档中说明,已更新: https://github.com/APIJSON/APIJSON/blob/master/Document.md#3.1 还可以看看这篇专门讲 APIJSON 自动化版本管理的博客 |
环境信息
问题描述
按照文档描述,GETS和GET的传入参数区别仅仅是GETS多了一个TAG,
如下GET可以得到正确的返回内容:
{
"[]": {
"User": {}
}
}
返回:
{
"msg": "success",
"[]": [
{
"User": {
"modifyDate": "2019-11-20",
"id": "123456",
"createDate": "2019-11-20",
"status": "OK"
}
},
{
"User": {
"modifyDate": "2019-12-20",
"id": "456789",
"createDate": "2019-11-20",
"status": "Error"
}
}
],
"code": 200,
"time:start|duration|end": "1575794122799|17|1575794122816",
"depth:count|max": "3|5",
"sql:generate|cache|execute|maxExecute": "3|2|1|200"
}
如下GETS的传参和返回结果:
{
"[]":{
"User":{}
},
"tag":"User"
}
返回
{
"[]": {
"User": {}
},
"code": 406,
"msg": "GETS请求,请在 内传 User:{} !"
}
下面是后台的错误日志:
AbstractSQLExecutor.INFO: >>> select putCache('SELECT "structure" FROM "public"."sys_request" WHERE ( ("method" = 'GETS') AND ("tag" = 'User') ) ORDER BY "version" DESC LIMIT 1 OFFSET 0', resultList); resultList.size() = 1
Structure.INFO: parseRequest method = GETS; name = ; target =
{"User":{}}
request =
{"[]":{"User":{}}}
java.lang.IllegalArgumentException: GETS请求,请在 内传 User:{} !
at zuo.biao.apijson.server.Structure$1.onParseJSONObject(Structure.java:116)
at zuo.biao.apijson.server.Structure.parse(Structure.java:303)
at zuo.biao.apijson.server.Structure.parseRequest(Structure.java:109)
at zuo.biao.apijson.server.AbstractParser.parseCorrectRequest(AbstractParser.java:466)
at zuo.biao.apijson.server.AbstractParser.parseCorrectRequest(AbstractParser.java:622)
at zuo.biao.apijson.server.AbstractParser.onVerifyContent(AbstractParser.java:423)
at zuo.biao.apijson.server.AbstractParser.parseResponse(AbstractParser.java:332)
at zuo.biao.apijson.server.AbstractParser.parseResponse(AbstractParser.java:306)
at zuo.biao.apijson.server.AbstractParser.parse(AbstractParser.java:278)
at com.dathinking.gancao.controller.APIController.gets(APIController.java:72)
at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at com.jfinal.aop.Invocation.invoke(Invocation.java:97)
at com.jfinal.ext.interceptor.POST.intercept(POST.java:30)
at com.jfinal.aop.Invocation.invoke(Invocation.java:91)
at com.dathinking.gancao.jfinal.interceptor.CrosInterceptor.intercept(CrosInterceptor.java:12)
at com.jfinal.aop.Invocation.invoke(Invocation.java:91)
at com.jfinal.ext.interceptor.SessionInViewInterceptor.intercept(SessionInViewInterceptor.java:44)
at com.jfinal.aop.Invocation.invoke(Invocation.java:91)
at com.jfinal.core.ActionHandler.handle(ActionHandler.java:89)
at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:89)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:835)
JFinal-4.7 action report -------- 2019-12-08 00:37:49 --------------------------
Url : POST /api/gets
Controller : com.dathinking.gancao.controller.APIController.(APIController.java:1)
Method : gets
Interceptor : com.jfinal.ext.interceptor.SessionInViewInterceptor.(SessionInViewInterceptor.java:1)
com.dathinking.gancao.jfinal.interceptor.CrosInterceptor.(CrosInterceptor.java:1)
com.jfinal.ext.interceptor.POST.(POST.java:1)