APIJSON快速入門

作者

版本

時間

內容

備注

Allen

V1.0.0

2021/08/19

初稿完成

Allen

V1.0.1

2021/08/22

添加常見問題

1.流程說明

一個接口的開發,比如Java用SpringBoot,Mybatis來開發一般來說就像下面這個流程

部署上這個項目后,流程變成了這樣

如果使用 apijson-framework,還可進一步簡化流程

2.本地開發

2.1 本地安裝

APIJSON為后端提供如下版本,本文選擇APIJSONBoot進行本地調試;

2.1.1 JDBC Demo

APIJSONDemo 為 APIJSON + SpringBoot 的最簡單的初級使用 Demo;
APIJSONBoot 為 APIJSON + SpringBoot 的接近生產環境成品的 Demo;
APIJSONFinal 為 APIJSON + JFinal 的接近生產環境成品的 Demo。

2.1.2 連接池 Demo

APIJSONDemo-Druid 為 APIJSON + SpringBoot + Druid 的簡單初級使用 Demo;
APIJSONDemo-HikariCP 為 APIJSON + SpringBoot + HikariCP 的簡單初級使用 Demo;
APIJSONBoot-MultiDataSource 為 APIJSON + SpringBoot + Druid + HikariCP 的接近生產環境成品的多數據源 Demo。

2.2 項目地址

Github:GitHub - APIJSON/APIJSON-Demo: 騰訊 APIJSON 各種語言、各種框架 的 使用示例項目、上手文檔、測試數據 SQL 文件 等。Demo projects with document and SQL files for Tencent APIJSON with different programming languages and different frameworks.

代碼獲取:

git@github.com:APIJSON/APIJSON-Demo.git
或者
https://github.com/APIJSON/APIJSON-Demo.git

2.3 本地導入

2.3.1 代碼獲取

2.3.2 工程添加

2.3.2.1 后端工程目錄

2.3.2.2 點擊工程設置

2.3.2.3 添加模塊(Modules)

2.3.2.4 選擇需要添加的模塊

這里選擇APIJSONBoot項目作為演示

2.3.2.5 選擇以Maven模式引入

2.3.2.6 添加JDK

這里選擇1.8

至此項目引入完成

2.2 庫表創建

2.2.1 數據庫腳本

數據庫腳本按文件夾分,MySQL相關腳本在MySQL目錄下,其中包含測試表

2.2.2 核心庫創建

2.2.2.1 Access

-- MySQL dump 10.13  Distrib 5.7.17, for macos10.12 (x86_64)
--
-- Host: apijson.cn    Database: sys
-- ------------------------------------------------------
-- Server version	5.7.33-log/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;--
-- Table structure for table `Access`
--DROP TABLE IF EXISTS `Access`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Access` (`id` bigint(15) NOT NULL AUTO_INCREMENT,`debug` tinyint(2) NOT NULL DEFAULT '0' COMMENT '是否為調試表,只允許在開發環境使用,測試和線上環境禁用',`name` varchar(50) NOT NULL COMMENT '實際表名,例如 apijson_user',`alias` varchar(20) DEFAULT NULL COMMENT '外部調用的表別名,例如 User',`get` varchar(100) NOT NULL DEFAULT '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]' COMMENT '允許 get 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]\n用 JSON 類型不能設置默認值,反正權限對應的需求是明確的,也不需要自動轉 JSONArray。\nTODO: 直接 LOGIN,CONTACT,CIRCLE,OWNER 更簡單,反正是開發內部用,不需要復雜查詢。',`head` varchar(100) NOT NULL DEFAULT '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]' COMMENT '允許 head 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]',`gets` varchar(100) NOT NULL DEFAULT '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]' COMMENT '允許 gets 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]',`heads` varchar(100) NOT NULL DEFAULT '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]' COMMENT '允許 heads 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]',`post` varchar(100) NOT NULL DEFAULT '["OWNER", "ADMIN"]' COMMENT '允許 post 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]',`put` varchar(100) NOT NULL DEFAULT '["OWNER", "ADMIN"]' COMMENT '允許 put 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]',`delete` varchar(100) NOT NULL DEFAULT '["OWNER", "ADMIN"]' COMMENT '允許 delete 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]',`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',`detail` varchar(1000) DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `name_UNIQUE` (`name`),UNIQUE KEY `alias_UNIQUE` (`alias`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COMMENT='權限配置(必須)';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `Access`
--LOCK TABLES `Access` WRITE;
/*!40000 ALTER TABLE `Access` DISABLE KEYS */;
INSERT INTO `Access` VALUES (1,0,'Access',NULL,'[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[]','[]','[]','2019-07-21 12:21:36',NULL),(2,1,'Table',NULL,'[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[]','[]','[]','2018-11-28 16:38:14',NULL),(3,1,'Column',NULL,'[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[]','[]','[]','2018-11-28 16:38:14',NULL),(4,0,'Function',NULL,'[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[]','[]','[]','2018-11-28 16:38:15',NULL),(5,0,'Request',NULL,'[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[]','[]','[]','2018-11-28 16:38:14',NULL),(6,0,'Response',NULL,'[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]','[\"UNKNOWN\", \"LOGIN\", \

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73194.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73194.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73194.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STM32八股【3】------RAM和片上FLASH

1、RAM和FLASH構成 1.RAM ┌──────────────────────────┐ │ 棧區 (Stack) │ ← 從RAM頂端向下擴展(存儲局部變量、函數調用信息) │--------------------------│ │ 堆區 (Heap) │ ← …

基于springboot的星之語明星周邊產品銷售網站(050)

摘要 隨著信息互聯網信息的飛速發展,無紙化作業變成了一種趨勢,針對這個問題開發一個專門適應洗衣店業務新的交流形式的網站。本文介紹了星之語明星周邊產品銷售網站的開發全過程。通過分析企業對于星之語明星周邊產品銷售網站的需求,創建了一…

Android Launcher3 HotSeat文件夾創建禁止方案全解析

一、技術背景與實現原理 在Android 13 Launcher3定制開發中,需屏蔽HotSeat區域的文件夾創建功能。該功能涉及的核心事件處理流程如下: 復制 [拖拽事件] -> [Workspace.onDrop()] -> [CellLayout.performReorder()]└─> [createUserFolderIf…

從零到一開發一款 DeepSeek 聊天機器人

AI聊天機器人 目標設計方案系統架構技術選型功能模塊 實現代碼環境配置安裝依賴 核心代碼API 請求函數主循環函數 功能擴展1. 情感分析2. 多語言支持3. 上下文記憶4. 用戶身份識別 總結附錄 目標 開發一個智能聊天機器人,旨在為用戶提供自然、流暢的對話體驗。通過…

OpenCV-Contrib常用擴展模塊

?一、高頻使用模塊? ?aruco 模塊? ?功能?:用于生成與檢測二維碼(如 ArUco Marker、AprilTag),支持增強現實(AR)中的物體定位與姿態估計?。?典型應用?:AR 應用中的場景錨定、機器人導航…

pfsense部署三(snort各版塊使用)

在上篇文章上我們已經進行了snort的基礎配置了,接下來需要進行snort的具體配置,其中包括各板塊的設置,例:白名單,警報,規則設置等 規則庫配置 點擊 service > snort > Global Settings ,在code值…

汽車制造MES

一、整體生產工序 整車的車間主要分為4個部分:沖壓、焊裝、涂裝、總裝、整車入庫 系統架構 二、車間概括 1.沖壓車間 2.焊裝車間 3.涂裝車間 4.總裝車間 1.整車裝配的部件都要可追溯、數據實時性要求高、涉及分裝與總裝的協調、物流配送的協調、質量批處理的協調、…

python接口自動化pytest+request+allure

自己自學接口自動化過程遇到的問題及解決方法記錄 首先是一個簡單的請求 import requests#這是一個簡單是get請求 def test_get():geturl https://so.csdn.net/api/v1/relevant-search?querypycharm%E5%AE%89%E8%A3%85requests%E5%BA%93&platformpcgetr requests.get(…

CompletableFuture的使用

CompletableFuture 是 Java 8 引入的異步編程工具&#xff0c;通過鏈式調用和非阻塞操作簡化多線程任務編排。 創建異步任務 1.帶返回值的任務 CompletableFuture<String> future CompletableFuture.supplyAsync(() -> "Hello");2. ?無返回值的任務 使…

GLB文件介紹

GLB文件是由支持glTF&#xff08;GL Transmission Format&#xff09;標準的軟件或工具生成的。glTF是一種開放的3D模型傳輸格式&#xff0c;而GLB是其二進制版本&#xff0c;通常用于嵌入紋理和模型數據。以下是常見的生成GLB文件的軟件和工具&#xff1a; 1. 3D建模軟件 ? …

計算機網絡的分類及其性能指標

一. 計算機網絡的分類 1. 按分布范圍分類 廣域網&#xff08;WAN&#xff09; 也稱遠程網。廣域網提供長距離通信&#xff0c;通常是幾十千米到幾千千米的區域&#xff0c;比如跨國通信。連接廣域網的各結點交換機的鏈路一般是高速鏈路&#xff0c;具有較大的通信容量城域網&…

gralloc usage flags

下面這些示例主要說明了 gralloc usage flags 在圖像處理和多媒體應用中如何影響性能和正確性。讓我們逐個詳細分析每個問題的 根因 和 修復方案&#xff0c;并深入解析 gralloc 標志對 緩存管理 和 數據流 的影響。 ? Example 1: 長曝光快照耗時異常 &#x1f4cc; 問題描述…

關于kafka的一些知識總結

Kafka 1. 基本知識 1.1 前置知識 topic表示一個類型/業務的數據的組為方便擴展&#xff0c;提高吞吐率&#xff0c;一個topic分為多個partition。配合分區的設計&#xff0c;提出消費者組的概念&#xff0c;每個消費者并行消費&#xff0c;同時&#xff0c;一個分區的數據&a…

深入理解traceroute命令及其原理

traceroute 是一個網絡診斷工具&#xff08;Windows上叫tracert&#xff09;&#xff0c;用于顯示數據包從本地主機到遠程主機經過的路由&#xff08;跳數&#xff09;。它可以幫助您了解數據包在網絡中的傳輸路徑&#xff0c;以及每跳的延遲情況。這對于網絡故障排除、分析網絡…

Spring 6: 3容器-Ioc

3、容器&#xff1a;IoC IoC 是 Inversion of Control 的簡寫&#xff0c;譯為“控制反轉”&#xff0c;它不是一門技術&#xff0c;而是一種設計思想&#xff0c;是一個重要的面向對象編程法則&#xff0c;能夠指導我們如何設計出松耦合、更優良的程序。 Spring 通過 IoC 容…

git推送代碼相關學習——(一)

推薦去閱讀一下廖老師的git相關的教程https://liaoxuefeng.com/books/git/introduction/index.html 這個系列就來學習一下git操作。 第一步&#xff0c;新建項目 去github中新建一個項目&#xff0c;然后依據項目來進行本地的開發工作。 第二步&#xff0c;拉取項目 git c…

2025年滲透測試面試題總結-某深信服-深藍攻防實驗室(題目+回答)

網絡安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 深信服-深藍攻防實驗室 一、內網攻擊核心思路&#xff08;2025版&#xff09; 1. 攻擊階段分層 2. 最…

JAVA學習*Object類

Object類 Object類是所有類的父類 類中有一些方法&#xff08;都需要掌握&#xff09; toString()方法 在學習類的對象的時候有介紹過了&#xff0c;當我們重新給此方法就會打印類與對象的信息 equals()方法 在Java中的比較&#xff0c; 如果左右兩側是基本類型變量&#…

《Operating System Concepts》閱讀筆記:p471-p472

《Operating System Concepts》學習第 37 天&#xff0c;p471-p472 總結&#xff0c;總計 2 頁。 一、技術總結 1.NAS (1)定義 network-attached storage (NAS)&#xff1a;Storage accessed from a computer over a network. 雖然平時經常看到 NAS 這個名稱&#xff0c;之…

gonet開源游戲服務器環境配置

1.mysql搭建 搜索mysql-server apt安裝包名 sudo apt search mysql-server 安裝mysql-server sudo apt-get install mysql-server 安裝完成后會&#xff0c;啟動mysql服務及創建系統服務 查看服務狀態 systemctl status mysql.service 使用超級權限登陸mysql sudo mysql 授…