前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >magic-api简单例子

magic-api简单例子

作者头像
程裕强
发布2022-01-20 18:15:17
2.4K0
发布2022-01-20 18:15:17
举报

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

在这里插入图片描述
在这里插入图片描述

2、样例测试

2.1 参考官方文档

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

2.2 新建springboot项目

(1)pom.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>magic-api-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>magic-api-demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>
        <dependency>
            <groupId>org.ssssssss</groupId>
            <artifactId>magic-api-spring-boot-starter</artifactId>
            <version>1.7.4</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

(2)application.properties

代码语言:javascript
复制
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)运行

代码语言:javascript
复制
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* 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

在这里插入图片描述
在这里插入图片描述

(2)新建分组

在这里插入图片描述
在这里插入图片描述

(3)新建接口

在这里插入图片描述
在这里插入图片描述

(4)输入接口相关参数

在这里插入图片描述
在这里插入图片描述

(5)测试接口

http://localhost:8088/demo/dept

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-01-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、magic-api
  • 2、样例测试
    • 2.1 参考官方文档
      • 2.2 新建springboot项目
        • 2.3 样例测试
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档