# magic-api-plugin **Repository Path**: logicjwell/magic-api-plugin ## Basic Information - **Project Name**: magic-api-plugin - **Description**: 整理一下,自己写的一些magic-api的插件 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2025-01-11 - **Last Updated**: 2025-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 整理一下,自己写的一些magic-api的插件 #### 软件架构 软件架构说明 ##### magic-api-plugin-nacos 1. springboot 2. magic-api 3. hutool-http 4. fastjson #### 安装教程 完全使用springboot3.x版本制作,所以请使用jdk17 magic-api目前没有正式发布对springboot3.x的适配,所以我单独做了一个适配版本,使用了现在的2.0.2版本基础上制作 [https://gitee.com/sirius/magic-api-3x.git](https://gitee.com/sirius/magic-api-3x.git) 换来个版本号2.0.2.1 mvn install #### 使用说明 ##### magic-api-plugin-nacos 使用方法 默认在使用magic-api的前提下引入如下依赖 ```xml cn.amaake magic-api-plugin-nacos-starter ${version} ``` ###### 使用服务注册 配置文件里填写nacos服务注册等配置,详细看nacos文档 ```yaml spring: application: name: magic-api-test-a #自己应用的名称 magic-api: nacos: discovery: autoRegister: true #可以让nacos自动注册 server-addr: 127.0.0.1:8848 #nacos的注册中心地址 ``` 在此基础上实现了一个伪rpc功能,其实就是一个用http包去访问了注册在服务上的接口 在magic-api中使用 ```js import rpc; //导入模块 //普通访问不带参数的 rpc.toform( selectName, path, method, ifhedler); //用于使用表单参数提交 rpc.toform( selectName, path, paramMap, method, ifhedler); //用于使用Restful提交 rpc.tobody( selectName, path, body, method, ifhedler); ``` | 字段 | 名称 | 说明 | |:---------------|:------:|---------------------------------------------:| | selectName | 服务名称 | 注册在nacos中的服务名称 | | path | 路径 | magic-api中的访问路径 | | method | 提交方式 | get、post、head、options、put、patch、delete、trace | | paramMap | 表单参数 | map类型 | | body | body参数 | json类型 | 返回的都是json类型的数据,com.alibaba.fastjson.JSONObject类型 完整配置说明: | 字段 | 名称 | |------------------|----------------------------| | enable-discovery | 是否启动注册服务 | | server-addr | nacos地址 | | service-name | 自定义服务名称,默认为springboot name | | cluster-name | 集群名称 | ###### 使用启动获取配置 ```yaml magic-api: nacos: enable-config: true server-addr: 127.0.0.1:8848 data-id: magictest group: DEFAULT_GROUP type: yaml ``` 添加获取配置magic模块 ```js import nacosconfig; //导入模块 nacosconfig.getconfig("magic-api.web") //根据自身的data-id获取配置 nacosconfig.getconfig("magictest","magic-api.web") //根据自定义data-id获取配置 nacosconfig.getconfig("magictest","DEFAULT_GROUP","magic-api.web") //根据自身的data-id和group获取配置 ``` 完整配置说明: | 字段 | 名称 | |---------------|------------------------| | enable-config | 是否启动远程配置 | | server-addr | nacos地址 | | sdata-id | 配置ID | | group | 配置分组 默认为 DEFAULT_GROUP | | timeout | 读取配置超时时间 默认为3000 | | remote-first | 是否将配置添加到前置 |