栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

接口快速开发框架 magic-api 2.x 进阶--1

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

接口快速开发框架 magic-api 2.x 进阶--1

magic-api介绍

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

本文针对magic-api的以下特性进行测试验证

  • 直接调用JAVA类的静态方法
  • 通过spring bean调用JAVA类的实例方法
  • 在spring bean中调用magic-api接口
  • 在spring bean中获取动态数据源信息及web配置文件信息
magic-api的特性测试 调用JAVA静态方法

在magic-api中可以直接调用JAVA类的静态方法

调用JAVA实例方法

需要将JAVA类注册为Spring Bean,否则会报:magic-api object is not an instance of declaring class

即在MagicAPIConfiguration中添加如下代码:

@Configuration
public class MagicAPIConfiguration {
....
	@Bean
	public HiService getHiService(){
		return new HiService();
	}
....
}

单表数据查询

可以直接使用在spring 配置文件中配置的数据源,进行数据查询操作
此magic-api在在java bean中调用magic-api中被调用

在java bean中调用magic-api

在java bean中,可以通过MagicAPIService 实例调用 通过magic-api界面配置的API接口

使用配置的数据源执行SQL

在java bean中,可以通过MagicDynamicDataSource实例,获取配置的数据源信息,然后拿到指定数据源对应的JdbcTemplate执行SQL语句

读取配置

在java bean中,可以通过MagicAPIConfiguration实例获取配置信息,在MagicAPIConfiguration可以根据需要读取指定的配置信息。

即在MagicAPIConfiguration中添加如下代码:

@Configuration
public class MagicAPIConfiguration {
	....
	private int serverPort;

	@Value("${server.port}")
	public void setServerPort(int port) {
		this.serverPort = port;
	}

	public int getServerPort(){
		return serverPort;
	}
	...
}

测试使用的源码
package org.magic.api.service;

import com.google.common.collect.Maps;
import org.springframework.beans.factory.annotation.Autowired;
import org.ssssssss.example.configuration.MagicAPIConfiguration;
import org.ssssssss.magicapi.core.model.JsonBean;
import org.ssssssss.magicapi.core.service.MagicAPIService;
import org.ssssssss.magicapi.datasource.model.MagicDynamicDataSource;
import org.ssssssss.magicapi.datasource.model.MagicDynamicDataSource.DataSourceNode;

import java.util.List;
import java.util.Map;

public class HiService {
    @Autowired
    MagicAPIService service;

    @Autowired
    MagicDynamicDataSource dynamicDataSource;

    @Autowired
    MagicAPIConfiguration apiConf;

    public static String hi(String name) {
        System.out.println(name);
        return String.format("hi %s", name);
    }

    public String hello(String name){
        return String.format("hello %s",name);
    }

    public List callAPI(){
        Object res = service.call("GET","/test/query", Maps.newHashMap());
        return (List) ((JsonBean) res).getData();
    }

    public List> executeSQL(String sql){
        DataSourceNode dataSourceNode = dynamicDataSource.getDataSource();
        List> res = dataSourceNode.getJdbcTemplate().queryForList(sql);
        return res;
    }

    public int getConf(){
        return apiConf.getServerPort();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/870862.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号