magic-api简单例子

1、magic-api

magic-api 是一个基于Java的接口快速开发框架,通过magic-api提供的UI界面完成编写接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发

https://gitee.com/ssssssss-team/magic-api
magic-api简单例子_第1张图片

2、样例测试

2.1 参考官方文档

https://www.ssssssss.org/magic-api/guide/quick-start.html

2.2 新建springboot项目

(1)pom.xml



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.2
         
    
    com.example
    magic-api-demo
    0.0.1-SNAPSHOT
    magic-api-demo
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            mysql
            mysql-connector-java
            8.0.27
        
        
            org.ssssssss
            magic-api-spring-boot-starter
            1.7.4
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


(2)application.properties

server.port=8088
#配置web页面入口
magic-api.web=/magic/web
#配置文件存储位置。当以classpath开头时,为只读模式
magic-api.resource.location=D:\\demo\\magic-api
#配置MySQL8.0连接信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.20.100:3306/demo
spring.datasource.username=dbadmin
spring.datasource.password=123456

(3)运行

C:\Java\jdk1.8.0_202\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:C:\App\JetBrains\IntelliJ IDEA 2019.3.2\lib\idea_rt.jar=52918:C:\App\JetBrains\IntelliJ IDEA 2019.3.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Java\jdk1.8.0_202\jre\lib\charsets.jar;C:\Java\jdk1.8.0_202\jre\lib\deploy.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\access-bridge-64.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\cldrdata.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\dnsns.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\jaccess.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\jfxrt.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\localedata.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\nashorn.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\sunec.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\sunjce_provider.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\sunmscapi.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\sunpkcs11.jar;C:\Java\jdk1.8.0_202\jre\lib\ext\zipfs.jar;C:\Java\jdk1.8.0_202\jre\lib\javaws.jar;C:\Java\jdk1.8.0_202\jre\lib\jce.jar;C:\Java\jdk1.8.0_202\jre\lib\jfr.jar;C:\Java\jdk1.8.0_202\jre\lib\jfxswt.jar;C:\Java\jdk1.8.0_202\jre\lib\jsse.jar;C:\Java\jdk1.8.0_202\jre\lib\management-agent.jar;C:\Java\jdk1.8.0_202\jre\lib\plugin.jar;C:\Java\jdk1.8.0_202\jre\lib\resources.jar;C:\Java\jdk1.8.0_202\jre\lib\rt.jar;D:\demo\magic-api-demo\target\classes;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.6.2\spring-boot-starter-web-2.6.2.jar;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot-starter\2.6.2\spring-boot-starter-2.6.2.jar;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot\2.6.2\spring-boot-2.6.2.jar;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.6.2\spring-boot-autoconfigure-2.6.2.jar;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.6.2\spring-boot-starter-logging-2.6.2.jar;C:\Users\chengyq\.m2\repository\ch\qos\logback\logback-classic\1.2.9\logback-classic-1.2.9.jar;C:\Users\chengyq\.m2\repository\ch\qos\logback\logback-core\1.2.9\logback-core-1.2.9.jar;C:\Users\chengyq\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.0\log4j-to-slf4j-2.17.0.jar;C:\Users\chengyq\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.0\log4j-api-2.17.0.jar;C:\Users\chengyq\.m2\repository\org\slf4j\jul-to-slf4j\1.7.32\jul-to-slf4j-1.7.32.jar;C:\Users\chengyq\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\chengyq\.m2\repository\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.6.2\spring-boot-starter-json-2.6.2.jar;C:\Users\chengyq\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.13.1\jackson-databind-2.13.1.jar;C:\Users\chengyq\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.13.1\jackson-annotations-2.13.1.jar;C:\Users\chengyq\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.13.1\jackson-core-2.13.1.jar;C:\Users\chengyq\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.1\jackson-datatype-jdk8-2.13.1.jar;C:\Users\chengyq\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.1\jackson-datatype-jsr310-2.13.1.jar;C:\Users\chengyq\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.1\jackson-module-parameter-names-2.13.1.jar;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.6.2\spring-boot-starter-tomcat-2.6.2.jar;C:\Users\chengyq\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.56\tomcat-embed-core-9.0.56.jar;C:\Users\chengyq\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.56\tomcat-embed-el-9.0.56.jar;C:\Users\chengyq\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.56\tomcat-embed-websocket-9.0.56.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-web\5.3.14\spring-web-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-beans\5.3.14\spring-beans-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-webmvc\5.3.14\spring-webmvc-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-aop\5.3.14\spring-aop-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-context\5.3.14\spring-context-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-expression\5.3.14\spring-expression-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.6.2\spring-boot-starter-jdbc-2.6.2.jar;C:\Users\chengyq\.m2\repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;C:\Users\chengyq\.m2\repository\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-jdbc\5.3.14\spring-jdbc-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-tx\5.3.14\spring-tx-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-core\5.3.14\spring-core-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-jcl\5.3.14\spring-jcl-5.3.14.jar;C:\Users\chengyq\.m2\repository\mysql\mysql-connector-java\8.0.27\mysql-connector-java-8.0.27.jar;C:\Users\chengyq\.m2\repository\org\ssssssss\magic-api-spring-boot-starter\1.7.4\magic-api-spring-boot-starter-1.7.4.jar;C:\Users\chengyq\.m2\repository\org\ssssssss\magic-api\1.7.4\magic-api-1.7.4.jar;C:\Users\chengyq\.m2\repository\org\springframework\boot\spring-boot-starter-websocket\2.6.2\spring-boot-starter-websocket-2.6.2.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-messaging\5.3.14\spring-messaging-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\springframework\spring-websocket\5.3.14\spring-websocket-5.3.14.jar;C:\Users\chengyq\.m2\repository\org\apache\commons\commons-text\1.6\commons-text-1.6.jar;C:\Users\chengyq\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\chengyq\.m2\repository\commons-beanutils\commons-beanutils\1.9.4\commons-beanutils-1.9.4.jar;C:\Users\chengyq\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\chengyq\.m2\repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;C:\Users\chengyq\.m2\repository\commons-io\commons-io\2.7\commons-io-2.7.jar;C:\Users\chengyq\.m2\repository\org\apache\commons\commons-compress\1.21\commons-compress-1.21.jar;C:\Users\chengyq\.m2\repository\org\ssssssss\magic-script\1.6.3\magic-script-1.6.3.jar;C:\Users\chengyq\.m2\repository\org\ssssssss\magic-editor\1.7.4\magic-editor-1.7.4.jar com.example.magicapidemo.MagicApiDemoApplication

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.6.2)

2022-01-05 10:14:58.046  INFO 14616 --- [           main] c.e.m.MagicApiDemoApplication            : Starting MagicApiDemoApplication using Java 1.8.0_202 on EC-SH-1276 with PID 14616 (D:\demo\magic-api-demo\target\classes started by chengyq in D:\demo\magic-api-demo)
2022-01-05 10:14:58.048  INFO 14616 --- [           main] c.e.m.MagicApiDemoApplication            : No active profile set, falling back to default profiles: default
2022-01-05 10:14:58.657  INFO 14616 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8088 (http)
2022-01-05 10:14:58.663  INFO 14616 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2022-01-05 10:14:58.663  INFO 14616 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.56]
2022-01-05 10:14:58.721  INFO 14616 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2022-01-05 10:14:58.721  INFO 14616 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 643 ms
2022-01-05 10:14:58.736  INFO 14616 --- [           main] o.s.aop.framework.CglibAopProxy          : Unable to proxy interface-implementing method [public final org.springframework.web.servlet.HandlerExecutionChain org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(javax.servlet.http.HttpServletRequest) throws java.lang.Exception] because it is marked as final: Consider using interface-based JDK proxies instead!
2022-01-05 10:14:58.737  INFO 14616 --- [           main] o.s.aop.framework.CglibAopProxy          : Unable to proxy interface-implementing method [public final void org.springframework.web.context.support.WebApplicationObjectSupport.setServletContext(javax.servlet.ServletContext)] because it is marked as final: Consider using interface-based JDK proxies instead!
2022-01-05 10:14:58.738  INFO 14616 --- [           main] o.s.aop.framework.CglibAopProxy          : Unable to proxy interface-implementing method [public final void org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(org.springframework.context.ApplicationContext) throws org.springframework.beans.BeansException] because it is marked as final: Consider using interface-based JDK proxies instead!
2022-01-05 10:14:59.026  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 未配置集群通知服务,本实例不会推送通知,集群环境下可能会有问题,如需开启,请配置magic-api.cluster-config.enable=true,若开启后本提示还在,请检查 spring-boot-starter-data-redis 是否引入
2022-01-05 10:14:59.064  INFO 14616 --- [           main] o.s.m.config.MagicDynamicDataSource      : 注册数据源:default
2022-01-05 10:14:59.067  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 未找到分页实现,采用默认分页实现,分页配置:(页码=page,页大小=size,默认首页=1,默认页大小=10)
2022-01-05 10:14:59.069  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 未找到SQL缓存实现,采用默认缓存实现(LRU+TTL),缓存配置:(容量=10000,TTL=-1)
2022-01-05 10:14:59.096  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : magic-api工作目录:file://D:\demo\magic-api
2022-01-05 10:14:59.100  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 注册模块:log -> interface org.slf4j.Logger
2022-01-05 10:14:59.102  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 注册模块:env -> class org.ssssssss.magicapi.modules.EnvModule
2022-01-05 10:14:59.102  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 注册模块:request -> class org.ssssssss.magicapi.modules.RequestModule
2022-01-05 10:14:59.102  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 注册模块:response -> class org.ssssssss.magicapi.modules.ResponseModule
2022-01-05 10:14:59.103  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 注册模块:assert -> class org.ssssssss.magicapi.modules.AssertModule
2022-01-05 10:14:59.103  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 注册模块:http -> class org.ssssssss.magicapi.modules.HttpModule
2022-01-05 10:14:59.103  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 注册模块:magic -> class org.ssssssss.magicapi.provider.impl.DefaultMagicAPIService
2022-01-05 10:14:59.103  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 注册模块:db -> class org.ssssssss.magicapi.modules.SQLModule
2022-01-05 10:14:59.104  INFO 14616 --- [           main] o.s.m.s.b.s.MagicAPIAutoConfiguration    : 自动导入模块:db
  __  __                _           _     ____  ___ 
 |  \/  |  __ _   __ _ (_)  ___    / \   |  _ \|_ _|
 | |\/| | / _` | / _` || | / __|  / _ \  | |_) || | 
 | |  | || (_| || (_| || || (__  / ___ \ |  __/ | | 
 |_|  |_| \__,_| \__, ||_| \___|/_/   \_\|_|   |___|
                  |___/                        1.7.4
2022-01-05 10:14:59.143  INFO 14616 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8088 (http) with context path ''
2022-01-05 10:14:59.151  INFO 14616 --- [           main] c.e.m.MagicApiDemoApplication            : Started MagicApiDemoApplication in 1.389 seconds (JVM running for 2.075)
********************************************当前服务相关地址********************************************
服务启动成功,magic-api已内置启动! Access URLs:
	接口本地地址: 		http://localhost:8088/
	接口外部访问地址: 	http://192.168.106.7:8088/
	接口配置平台: 		http://192.168.106.7:8088/magic/web/index.html
	可通过配置关闭输出: 	magic-api.show-url=false
********************************************当前服务相关地址********************************************
2022-01-05 10:15:57.942  INFO 14616 --- [nio-8088-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-01-05 10:15:57.942  INFO 14616 --- [nio-8088-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2022-01-05 10:15:57.943  INFO 14616 --- [nio-8088-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
2.3 样例测试

(1)打开测试
http://localhost:8088/magic/web/index.html

magic-api简单例子_第2张图片

(2)新建分组
magic-api简单例子_第3张图片
(3)新建接口
magic-api简单例子_第4张图片
(4)输入接口相关参数
magic-api简单例子_第5张图片
(5)测试接口

http://localhost:8088/demo/dept

magic-api简单例子_第6张图片

你可能感兴趣的:(SpringBoot,2.x学习笔记,spring,boot,magic-api)