Giter Site home page Giter Site logo

ssssssss-team / magic-api Goto Github PK

View Code? Open in Web Editor NEW
1.4K 33.0 330.0 8.52 MB

magic-api 是一个接口快速开发框架,通过Web页面编写脚本以及配置,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象

Home Page: http://ssssssss.org

License: MIT License

Java 99.62% Vue 0.38%
http-api api restful-api api-framework http-api-generator magic-api magic-script sql automatic-api

magic-api's Issues

Oracle库,sql查询很快,用db.select()查询很慢

环境:
oracle数据库
magic 1.7.2

过程:
1、用navicat客户端查询很快
image
2、使用magic的db.select(sql)查询,耗时:
image

二者查询速度相差甚远,简直不敢相信,有什么办法优化吗?

另:我看了新版本的发版说明,也不涉及此类问题。

引入扩展java类的问题。

你好,
在magic-api中引了一个自定义的java类 MessageUtils 类,类里有个sendMessage(Message message)的方法,参数为Message实体类。
我在引擎页面编写脚本的时候,
代码:
var message = new Message(); //成功
message.sendMessage(message); //报错
提示org/json/JSONExction错误。这个是参数类型不一致引起的?如果不修改原方法参数类型的情况下,是否能进行解决呢。

PageHelper的支持

无法自定义扩展获取到总页数,希望可以和PageHelper结构一致返回给前端

db.page 分页性能问题

你好,分页查询的时候,使用page进行分页时候,执行的count查询语句是:

select count(1) from (select * from table_name) count_

这语句,应该是有性能问题的吧。

虽然pag操作,提供了自定义count查询语句的方法,但是却无法自定分页参数,这表示很郁闷。请问大佬这种情况下,应该怎么处理。

// 这个语句,可以自定义 count 查询语句,但是不能自定义分页参数
db.page(countSqlOrXml,sqlOrXml)

// 这个语句,可以自定义分页参数,但是不能自定义 count 查询语句
db.page(sqlOrXml,limit,offset)

版本2.0.1,数据源:MySql

http模块调用 https接口,提示ssl错误

调用https接口,提示ssl错误,这个需要在哪里处理,或者skip掉ssl验证。

接口/magic/getAlarmList请求出错org.ssssssss.script.exception.MagicScriptException: I/O error on GET request for "https://xxx/openapi/v1.0/info": PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at Row:11~11,Col:9~12



var obj=http.header("apiKey","551dff0bd8a4ddce4292b38effc81b8b").param(map).connect("https://xxx/openapi/v1.0/info").get();

        ^^^^                                                                                                                                   

at org.ssssssss.script.MagicScriptError.error(MagicScriptError.java:71)

at org.ssssssss.script.MagicScriptError.transfer(MagicScriptError.java:114)

at org.ssssssss.script.MagicScript.execute(MagicScript.java:97)

at org.ssssssss.script.MagicScript.eval(MagicScript.java:153)

at org.ssssssss.magicapi.script.ScriptManager.executeScript(ScriptManager.java:66)

at org.ssssssss.magicapi.controller.RequestHandler.invokeRequest(RequestHandler.java:264)

at org.ssssssss.magicapi.controller.RequestHandler.invoke(RequestHandler.java:124)

at jdk.internal.reflect.GeneratedMethodAccessor288.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1064)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)

at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)

at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)

at org.ssssssss.magicapi.config.MagicCorsFilter.doFilter(MagicCorsFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:785)

at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:711)

at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:602)

at org.ssssssss.magicapi.modules.HttpModule.execute(HttpModule.java:173)

at org.ssssssss.magicapi.modules.HttpModule.get(HttpModule.java:139)

at jdk.internal.reflect.GeneratedMethodAccessor292.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at org.ssssssss.script.reflection.MethodInvoker.invoke(MethodInvoker.java:20)

at org.ssssssss.script.reflection.JavaInvoker.invoke0(JavaInvoker.java:83)

at org.ssssssss.script.runtime.handle.FunctionCallHandle.invoke_method(FunctionCallHandle.java:138)

at MagicScript_65.execute(MagicScript_65.ms:11)

at org.ssssssss.script.MagicScript.execute(MagicScript.java:93)

... 56 more

页面上编辑了接口,但是数据库里和swagger没生效

这个截图是页面上编辑结束的。response参数为reportCount,hitCount
image

这个截图是swagger展示的,hitNumber,reportNumber
image

这个是数据库的存储

{
  "properties" : { },
  "id" : "95ce1a51e6eb4974aaa3966be7f74aa4",
  "script" : null,
  "groupId" : "d47fce573fd54feeaed88f6971a4d402",
  "name" : "统计情报数和情报转事件数接口",
  "createTime" : null,
  "updateTime" : 1631668188476,
  "method" : "POST",
  "path" : "statisticCount",
  "parameters" : [ ],
  "option" : "[]",
  "requestBody" : "{\n    \"startTime\": \"开始时间\",\n    \"endTime\": \"截止时间\"\n}",
  "headers" : [ ],
  "paths" : [ ],
  "responseBody" : "{\n    \"code\": 1,\n    \"message\": \"success\",\n    \"data\": {\n        \"reportNumber\": \"情报上报数量\",\n        \"hitNumber\": \"情报命中数量\"\n    },\n    \"timestamp\": 1631612822033,\n    \"executeTime\": 2\n}",
  "description" : "统计情报上报数量、情报命中数量",
  "requestBodyDefinition" : {
    "name" : "",
    "value" : "",
    "description" : "",
    "required" : false,
    "dataType" : "Object",
    "type" : null,
    "defaultValue" : null,
    "validateType" : "",
    "error" : "",
    "expression" : "",
    "children" : [ {
      "name" : "startTime",
      "value" : "开始时间",
      "description" : "",
      "required" : false,
      "dataType" : "String",
      "type" : null,
      "defaultValue" : null,
      "validateType" : "",
      "error" : "",
      "expression" : "",
      "children" : [ ]
    }, {
      "name" : "endTime",
      "value" : "截止时间",
      "description" : "",
      "required" : false,
      "dataType" : "String",
      "type" : null,
      "defaultValue" : null,
      "validateType" : "",
      "error" : "",
      "expression" : "",
      "children" : [ ]
    } ]
  },
  "responseBodyDefinition" : {
    "name" : "",
    "value" : "",
    "description" : "",
    "required" : false,
    "dataType" : "Object",
    "type" : null,
    "defaultValue" : null,
    "validateType" : "",
    "error" : "",
    "expression" : "",
    "children" : [ {
      "name" : "code",
      "value" : "1",
      "description" : "",
      "required" : false,
      "dataType" : "Integer",
      "type" : null,
      "defaultValue" : null,
      "validateType" : "",
      "error" : "",
      "expression" : "",
      "children" : [ ]
    }, {
      "name" : "message",
      "value" : "success",
      "description" : "",
      "required" : false,
      "dataType" : "String",
      "type" : null,
      "defaultValue" : null,
      "validateType" : "",
      "error" : "",
      "expression" : "",
      "children" : [ ]
    }, {
      "name" : "data",
      "value" : "",
      "description" : "",
      "required" : false,
      "dataType" : "Object",
      "type" : null,
      "defaultValue" : null,
      "validateType" : "",
      "error" : "",
      "expression" : "",
      "children" : [ {
        "name" : "reportNumber",
        "value" : "情报上报数量",
        "description" : "情报上报数量",
        "required" : false,
        "dataType" : "String",
        "type" : null,
        "defaultValue" : null,
        "validateType" : "",
        "error" : "",
        "expression" : "",
        "children" : [ ]
      }, {
        "name" : "hitNumber",
        "value" : "情报命中数量",
        "description" : "情报命中数量",
        "required" : false,
        "dataType" : "String",
        "type" : null,
        "defaultValue" : null,
        "validateType" : "",
        "error" : "",
        "expression" : "",
        "children" : [ ]
      } ]
    }, {
      "name" : "timestamp",
      "value" : "1631612822033",
      "description" : "",
      "required" : false,
      "dataType" : "Long",
      "type" : null,
      "defaultValue" : null,
      "validateType" : "",
      "error" : "",
      "expression" : "",
      "children" : [ ]
    }, {
      "name" : "executeTime",
      "value" : "2",
      "description" : "",
      "required" : false,
      "dataType" : "Integer",
      "type" : null,
      "defaultValue" : null,
      "validateType" : "",
      "error" : "",
      "expression" : "",
      "children" : [ ]
    } ]
  },
  "optionMap" : { }
}
================================
var res={
    "reportCount":"情报上报数量",
    "hitCount":"情报命中数量"
}
return res;

希望页面上编辑完接口后,swagger和数据库可以实时生效。

无法连接sqlproxy软件

mysql前面放一层 sqlproxy软件,使用magic-api无法连接到sqlproxy,在web面板上添加数据源后,点击“测试”会hang住。使用数据源查询也会hang住。

打包源码报错对于collect(java.util.stream.Collector<java.lang.Object,capture#1, 共 ?,java.util.List<java.lang.Object>>), 找不到合适的方法

如题,解决办法

RequestHandler 282行的
List<BaseDefinition> validates = validateParameters.stream()
.filter(it -> VALIDATE_TYPE_EXPRESSION.equals(it.getValidateType()) && StringUtils.isNotBlank(it.getExpression()))
.collect(Collectors.toList());

改成

Supplier<List<BaseDefinition>> supplier = () -> new ArrayList<>();
List<BaseDefinition> validates = validateParameters.stream()
        .filter(it -> VALIDATE_TYPE_EXPRESSION.equals(it.getValidateType()) && StringUtils.isNotBlank(it.getExpression()))
        .collect(Collectors.toCollection(supplier));

关于a标签href变量定义问题

我在使用spiderflow的时候,爬取了一个a标签的href属性,变量是这么定义的:${extract.xpath(articleList[index],'//a/@href')},但是爬出来之后并不是我想要的链接,而是{"functionPrefix":"url"}这个东西,有大佬遇到过这个问题吗?

oracle trunc sysdate 时间错乱

查询oracle数据库时间错误

环境:
1.oracle版本11g
2.magic-api 版本
image

查询结果:
image

期望:
trunc函数可正常使用

解构赋值能否支持剩余元素赋值

目前测试下来发现脚本语言支持解构赋值var {items,id} =body,也支持元素展开var order = {...body},就是不支持剩余元素赋值var {items,...other} = body,能否考虑支持一下

从一个项目导出,导入到另外一个项目里,结果接口数据全部导入到接口数据中了。

我是这样的研发环境。我在本地的环境配置如下采用的magic-api 1.7.5版本
同样的数据库为啥运行结果不同呢?配置也相同的。本地注册函数、注册接口、而测试环境全部注册为了函数。这样不同的原因可能是什么呢?

本地:

2022-04-19 14:52:01.355 INFO 21466 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[gitee组权限:/config/groupRightRule]
2022-04-19 14:52:01.355 INFO 21466 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[通过access_token获得用户信息:/tools/token/user]
2022-04-19 14:52:01.355 INFO 21466 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[获得auth-server请求服务:/config/serverConfig]
2022-04-19 14:52:01.355 INFO 21466 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[获得access_token:/tools/token/auth]
2022-04-19 14:52:01.355 INFO 21466 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[根据4A账户获取用户信息:/tools/user/userInfobyAccount]
2022-04-19 14:52:01.379 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:添加项目成员(分配角色),POST:/project/member/set
2022-04-19 14:52:01.380 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:从其他项目导入代码库clone项目,POST:/webhook/repository/clone
2022-04-19 14:52:01.380 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:创建sshkey-公钥,GET:/key/sshKey
2022-04-19 14:52:01.381 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:新建模板,POST:/repository/template
2022-04-19 14:52:01.381 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:删除sshkey-公钥,DELETE:/key/sshkey
2022-04-19 14:52:01.381 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:新建分支,POST:/repository/barnch
2022-04-19 14:52:01.382 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:获取文件-返回文件内容-文本格式,GET:/repository/file
2022-04-19 14:52:01.382 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:新建代码库时调用,GET:/webhook/repository/create/callback
2022-04-19 14:52:01.383 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:获得公钥列表,GET:/key/sshkeys
2022-04-19 14:52:01.383 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:磐舟获取access_token,GET:/token/callBack
2022-04-19 14:52:01.384 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:配置webhoo-记录代码变更,GET:/repository/webhook
2022-04-19 14:52:01.384 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:删除项目成员,DELETE:/project/member/del
2022-04-19 14:52:01.384 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:新建项目,POST:/project/
2022-04-19 14:52:01.385 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:获取文件-查询指定目录下的文件列表,GET:/repository/tree
2022-04-19 14:52:01.385 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:获取用户信息,GET:/token/userInfo
2022-04-19 14:52:01.385 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:删除代码库时调用,GET:/webhook/repository/del/callback
2022-04-19 14:52:01.385 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:提交次数,GET:/statistics/cmmit
2022-04-19 14:52:01.386 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:分配角色,POST:/role/group/grant
2022-04-19 14:52:01.386 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:最后一次提交信息,GET:/repository/lastCommit
2022-04-19 14:52:01.386 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:上传文件,POST:/repository/upload
2022-04-19 14:52:01.386 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:查询角色列表-可通过该接口进行角色id的获取-就无需进行上述的角色参数配置,GET:/role/group/list
2022-04-19 14:52:01.387 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:代码增加行数,GET:/statistics/codeAdd
2022-04-19 14:52:01.387 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:根据模板创建代码库,POST:/webhook/repository/createByTemplate
2022-04-19 14:52:01.387 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:删除用户,DELETE:/user/user/del
2022-04-19 14:52:01.388 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:代码仓库数,GET:/statistics/repository
2022-04-19 14:52:01.388 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:新增用户,POST:/user/user/add
2022-04-19 14:52:01.388 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:代码分支数,GET:/statistics/barnch
2022-04-19 14:52:01.389 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:代码删除行数,GET:/statistics/codeDel
2022-04-19 14:52:01.389 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:代码行数统计,GET:/statistics/codeLine
2022-04-19 14:52:01.389 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:根据用户账户获取用户信息,GET:/user/userinfo
2022-04-19 14:52:01.389 INFO 21466 --- [ main] o.s.m.config.MappingHandlerMapping : 注册接口:操作日志(未确定),GET:/repository/log

测试环境:

2022-04-19 11:36:54.063 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[代码删除行数:/statistics/codeDel]
2022-04-19 11:36:54.064 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[新增用户:/user/user/add]
2022-04-19 11:36:54.064 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[代码分支数:/statistics/barnch]
2022-04-19 11:36:54.064 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[提交次数:/statistics/cmmit]
2022-04-19 11:36:54.064 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[上传文件:/repository/upload]
2022-04-19 11:36:54.064 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[获取文件-返回文件内容-文本格式:/repository/file]
2022-04-19 11:36:54.064 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[删除sshkey-公钥:/key/sshkey]
2022-04-19 11:36:54.064 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[新建项目:/project/]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[获得access_token:/tools/token/auth]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[根据模板创建代码库:/webhook/repository/createByTemplate]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[创建sshkey-公钥:/key/sshKey]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[配置webhoo-记录代码变更:/repository/webhook]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[删除用户:/user/user/del]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[代码仓库数:/statistics/repository]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[查询角色列表-可通过该接口进行角色id的获取-就无需进行上述的角色参数配置:/role/group/list]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[获取文件-查询指定目录下的文件列表:/repository/tree]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[分配角色:/role/group/grant]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[最后一次提交信息:/repository/lastCommit]
2022-04-19 11:36:54.065 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[根据用户账户获取用户信息:/user/userinfo]
2022-04-19 11:36:54.066 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[从其他项目导入代码库clone项目:/webhook/repository/clone]
2022-04-19 11:36:54.066 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[代码行数统计:/statistics/codeLine]
2022-04-19 11:36:54.066 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[通过access_token获得用户信息:/tools/token/user]
2022-04-19 11:36:54.066 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[新建代码库时调用:/webhook/repository/create/callback]
2022-04-19 11:36:54.066 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[根据4A账户获取用户信息:/tools/user/userInfobyAccount]
2022-04-19 11:36:54.066 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[新建模板:/repository/template]
2022-04-19 11:36:54.067 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[操作日志(未确定):/repository/log]
2022-04-19 11:36:54.067 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[gitee组权限:/config/groupRightRule]
2022-04-19 11:36:54.067 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[添加项目成员(分配角色):/project/member/set]
2022-04-19 11:36:54.067 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[获得auth-server请求服务:/config/serverConfig]
2022-04-19 11:36:54.067 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[删除代码库时调用:/webhook/repository/del/callback]
2022-04-19 11:36:54.067 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[获取用户信息:/token/userInfo]
2022-04-19 11:36:54.067 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[删除项目成员:/project/member/del]
2022-04-19 11:36:54.067 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[新建分支:/repository/barnch]
2022-04-19 11:36:54.068 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[获得公钥列表:/key/sshkeys]
2022-04-19 11:36:54.068 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[代码增加行数:/statistics/codeAdd]
2022-04-19 11:36:54.068 INFO 1 --- [ main] o.s.m.config.MagicFunctionManager : 注册函数:[磐舟获取access_token:/token/callBack]

反馈一个问题,关于插入数据 字段默认为空的

我是才从PHP转过来的, 遇见一个很奇怪的问题
数据库 mysql 5.7.x
使用插入遇见
return db.insert("insert into db_dept(name,code) values('ad222min','admin')");
提示
org.ssssssss.script.exception.MagicScriptException: PreparedStatementCallback; Field 'remark' doesn't have a default value; nested exception is java.sql.SQLException: Field 'remark' doesn't have a default value at Row:53~53,Col:11~74
但是我直接数据库里面执行
insert into db_dept(name,code) values('ad222min','admin')
是正常的,
mysql.ini 已经设置
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
通用的 单表操作 插入数据也一样的问题,
我也找不到原因了,
但是 如果代入 remark 随便一个字符串,就成功了

如何切换自定义的db?

我想要使用我的localhost这个数据库进行查询操作,如何切换sql。

我下面的截图是使用默认数据库进行查询的。

image

image

载入xml文件时,会去访问http://ssssssss.org/dtd/0.0.x/ssssssss.dtd。当网络断开时,启动会报错

java.net.UnknownHostException: ssssssss.org
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_201]

我暂时通过改变在
S8XMLFileParser类里解析xml段的代码避开了解析。但是还是直接读本地dtd最好。我的方式如下:
DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
builder.setEntityResolver(
new EntityResolver(){
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
{
return new InputSource(new StringBufferInputStream(""));
// return null;//这个的效果仍然是从网络来抓取DTD来验证
}
}
);
Document document = builder.parse(file);

sqlite 不支持

sqlite 数据库不支持。可以启动项目,但是写接口执行的时候报错,添加一下 sqlite的支持

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.