文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

我们一起聊聊不写一行代码通过UI界面配置HTTP接口

2024-11-28 14:56

关注

1. 简介

本篇文章将介绍一个非常优秀的快速开发框架magic-api。magic-api是一个基于Java的接口快速开发框架,它极大地简化了HTTP API接口的开发过程。它具备以下特性:

magic-api非常适用于需要快速开发大量HTTP API接口的场景,如企业级应用开发、微服务架构中的接口开发等。通过magic-api,开发者可以极大地提高开发效率,降低开发成本。

2. 环境准备

2.1 引入依赖


  org.ssssssss
  magic-api-spring-boot-starter
  2.1.1

目前最新版本2.1.1。有1年多没有更新了。

2.2 简单配置

magic-api:
  web: /mc-api

设置Web UI访问路径,如上配置后访问如下

图片图片

接下来就可以通过该界面配置各种HTTP API接口了。

3. 实战案例

接下来将详细的介绍magic-api所支持的各种模块查询功能。

3.1 数据源管理

两种方式使用数据源,一种是在项目中自己配置数据源,还有一种是直接通过UI界面配置数据源。

项目配置数据源

spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/testjpa?serverTimeznotallow=GMT%2B8&useSSL=false&characterEncoding=UTF-8
    username: root
    password: xxxooo
    type: com.zaxxer.hikari.HikariDataSource

接下来就可以在UI中进行配置接口

图片图片

如上配置后,你就可以直接通过接口地址进行访问了。

图片图片

通过UI配置数据源。

图片图片

注意这里的Key属性,接下来编写接口时会使用这个Key。

配置接口

图片图片

这里数据源的访问:db.mydb

3.2 分页查询

通常不会将一个表的所有数据都查询出来,实际都会进行分页查询,列也不一定都需要,所以我们这里可以分页及设置需要查询的列。

图片图片

这里分别指定要查询的列及分页情况,你也可以不指定查询的分页码。

return db.mydb.table('big_table').columns("uid", "name", "age", "sex").page()

这时候我们请求接口时可以动态的指定查询分页参数信息。

图片图片

3 添加数据

图片

测试接口

图片

成功添加

4 通过SQL操作

图片

直接编写SQL语句进行查询数据,而这里分页无需配置,只需要在调用该接口时传入参数即可。

图片图片

3.5 使用MyBatis语法

目前支持一下关键字:

示例:

var sql = """
    select * from big_table
  
        
         and name like concat('%',#{name},'%')
        
    
"""
return db.mydb.page(sql)

图片图片

查询示例

图片图片

3.6 HTTP接口调用

http模块是基于RestTemplate封装而来,目前只做了少量的封装。对于一些通用的配置可以使用自定义RestTemplate来实现。

示例

import http;
return http.connect('http://localhost:8001/users/info')
    .get()
    .getBody()

接口配置

图片图片

3.7 Redis数据查询

先引入相应的依赖


  org.ssssssss
  magic-api-plugin-redis
  2.1.1

其实你也可以不用它的这个依赖,它这依赖就干了一事,引入spring-boot-starter-data-redis。

配置

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    password: xxxooo
    database: 3

以上配置完后就可以通过UI进行Redis相关的操作了

图片图片

这里你还可以指定动态参数;

import redis;
return redis.setex('pack:name', 600, name)

调用接口传递name参数;

图片

图片

数据成功添加到Redis中。

3.8 执行Java代码

注入Spring Bean对象

// 定义Bean对象
@Service
public class UserService {
  
  public List list() {
    return Arrays.asList("a", "b", "c", "d") ;
  }
}

运行结果

图片图片

调用普通Java代码。

import 'java.util.Date' as Date;
import 'java.text.SimpleDateFormat' as SimpleDateFormat;
var now = new Date();
var df = new SimpleDateFormat('yyyy-MM-dd');
return df.format(now);

你也可以调用静态方法

import xxx.StringUtils;
return StringUtils.isBlank("") ;

以上仅仅是介绍了一丁点功能,magic-api还支持其它非常丰富的功能。具体查看对应的文档。

来源:Spring全家桶实战案例源码内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯