Skip to content

[Bug] function校验失败和不允许 UNKNOWN 用户的 GET 请求 #702

@xuming9

Description

@xuming9

APIJSON Version/APIJSON 版本号

6.4.0-springboot3

Database Type & Version/数据库类型及版本号

postgresql16.2和mysql5.7

Environment/环境信息

- JDK/基础库:JDK21
- OS/系统:WINDOWS

APIAuto Screenshots/APIAuto 请求与结果完整截屏

{ "EX_sys_users": { "id": 1 }, "ok": false, "code": 401, "msg": "EX_sys_users 不允许 UNKNOWN 用户的 GET 请求!", "debug:info|help": "浏览器打开以下链接查看解答。。。。}

Current Behavior/问题描述

学习demo中的APIJSONSimpleDemo-SpringBoot3时。遇到2个问题,虽然用曲线救国的方式绕过去了,但感觉作者应该是有专业的解决方式,后续希望能把apijson应用上生产,所以求解惑。

1、APIJSONApplication.init(false);如果改参数为true,必提示function校验失败,不止一个funciton校验失败,检查了看数据库内容感觉不是脚本问题。
报错内容如下:
----------
字符 deleteCommentOfMoment(momentId) 对应的远程函数 deleteCommentOfMoment(JSONObject request, String momentId) 不在后端 apijson.framework.APIJSONFunctionParser 内,也不在父类中!如果需要则先新增对应方法!
请检查函数名和参数数量是否与已定义的函数一致!
且必须为 function(key0,key1,...) 这种单函数格式!
----------
虽然把deleteCommentOfMoment函数的参数改为String后就不报错了,但感觉不应该是String。而且改完这个函数又有其他函数报错。

2、添加表后,在access中增加数据后,就算重启服务也无法自动识别新增表。我的解决方法是:
在启动后增加增加代码APIJSONVerifier.initAccess(false, APIJSONApplication.DEFAULT_APIJSON_CREATOR);
文档中是说无需access,会自动识别,但我暂时没测试出来


代码都是demo中的代码,仅修改了依赖和数据库配置。

Expected Behavior/期望结果

No response

Any additional comments?/其它补充说明?

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions