数据库组件的使用

简介 #

通过使用 Methodot 中的中间件定义,您可以很方便的将部署在任意位置的状态型中间件引入 Methodot 的应用中。而数据库组件,则为关系型数据库的中间件提供了更加简便的使用方式。

通过创建数据库组件,您可以立即得到一套实时可用的数据 API 接口,并在任意位置进行调用。

准备 #

数据库 #

在使用数据库组件之前,您需要先准备一个已经可以正常访问使用的 MySQL 服务。或者,您也可以在应用商店中创建一个临时数据库来试用该功能。

中间件 #

当您已经准备好数据库,就可以使用中间件功能了。

在 Methodot 的应用工厂中,每一个项目都可以定义该项目所使用的中间件,这里以 MySQL 作为示例,您需要先准备如下信息:

  • 可以被 Methodot 访问的 MySQL 公网地址,以及网络端口
  • 可以访问该数据库的用户名和密码
  • MySQL 中任一 Database 的名称

创建中间件的操作步骤如下:

  1. 在项目的左侧菜单中,点击中间件,进入中间件页面
  2. 点击『创建中间件』
  3. 根据提示填写中间件相关信息,完成创建

中间件的创建步骤

设计 #

在数据库与中间件准备完成后,就可以开始使用 DB 组件了。

在已创建中间件的项目中,进入设计界面,编辑架构图,拖拽左侧『DB 组件』进入画布中,进入创建界面。

根据提示完成创建后,DB 组件会自动识别数据库中的数据信息,并生成对应的 API。

查看 #

选中 DB 组件,在右侧菜单中点击 DB 编辑,即可进入 DB 编辑界面。DB 组件会自动识别数据库中的数据信息,并生成对应的 API。

DB 编辑界面如下图:

Untitled

  1. 左侧为该数据库中所有的数据表,点击可切换数据表
  2. 右侧可查看该表中的所有数据
  3. 点击查看 API 按钮,可以查看 DB 组件为该数据表生成的所有 API

API #

DB 组件创建成功后,会自动为当前数据表生成可立即使用的 Restful API。

参数 介绍
uuid 该 ID 为 DB 组件唯一 ID,在创建 DB 组件时,会自动生成,可以在 API 文档中进行查看。
table 即该 DB 组件中所接入的数据表名称。
id 即当前数据表中主键的值,DB 组件会自动识别数据表中的主键,作为查询 ID。

鉴权 #

为了确保数据的安全性,在 DB 组件创建完成后,会自动为可访问的 API 生成鉴权凭证,该凭证可以在 DB 组件 - DB 编辑 - 查看 API 中进行查看。
使用下方 API 时,均需在请求的 Header 中携带如下信息才可以正常使用:

Key Value
Authorization {TOKEN}

如若该凭证不慎遗失,可以随时在查看界面进行重置,重置后,原凭证将被销毁,仅新凭证可继续使用。

[查询]多行数据 #

Method API Path
GET /api/{uuid}/{table}
Query 参数 使用方式
fields 可选,当填入列名后,返回数据仅包括列名,如有多个列名,则以 , 分隔
size 可选,分页字段,可控制当前返回的数据数量,默认返回 100 条
page 可选,分页字段,需配合 size 字段使用,表示第几页,默认为 0

示例

如图中 DB 组件,以每页 3 条查询第 2 页的数据,且只需要 fruit_idname

[GET] /api/some-uuid/fruit?page=1&size=3&fields=fruit_id,name

// Response
[
    {
        "fruit_id": 1,
        "name": "Apple"
    },
    {
        "fruit_id": 2,
        "name": "Pear"
    },
    {
        "fruit_id": 3,
        "name": "Orange"
    }
]

[查询]单行数据 #

Method API Path
GET /api/{uuid}/{table}/{id}

示例

如图中 DB 组件,查询 fruit_id1的数据:

[GET] /api/some-uuid/fruit/1

// Response
{
    "fruit_id": 1,
    "name": "Apple",
    "variety": "Red Delicious"
}

[查询]数据行数 #

Method API Path
GET /api/{uuid}/{table}/count

示例

如图中 DB 组件,查询 fruit 中的数据总数量:

[GET] /api/some-uuid/fruit/count

// Response
12

[新增]数据 #

Method API Path Header
POST /api/{uuid}/{table} Content-Type: application/json

示例

如图中 DB 组件,如图中 DB 组件,新建多行数据:

可访问 [POST] /api/some-uuid/fruit

// Request body
[
    {
        "name": "Any Fruit 2",
        "variety": "Any Variety"
    },
    {
        "name": "Any Fruit 3",
        "variety": "Any Variety"
    }
]
// Response
[
    {
        "fruit_id": 12,
        "name": "Any Fruit 2",
        "variety": "Any Variety"
    },
    {
        "fruit_id": 13,
        "name": "Any Fruit 3",
        "variety": "Any Variety"
    }
]

[更新]单行数据 #

Method API Path Header
POST /api/{uuid}/{table}/{id} Content-Type: application/json

示例

如图中 DB 组件,修改 fruit_id13 的数据中的 name 信息:

[PUT] /api/some-uuid/fruit/13

// Request body

{
    "name": "Other Fruit"
}
// Response
{
    "fruit_id": 13,
    "name": "Other Fruit",
    "variety": "Any Variety"
}

[删除]单行数据 #

Method API Path
DELETE /api/{uuid}/{table}/{id}

示例

如图中 DB 组件,删除 fruit_id13的数据:

[DELETE] /api/some-uuid/fruit/13

// Response
1 // 实际删除了 1 条数据

[删除]多行数据 #

Method API Path
DELETE /api/{uuid}/{table}
Query 参数 使用方式
primary_key 必填,当前数据表的主键名称
id_comma 必填,主键的值,以 , 分隔

示例

如图中 DB 组件,删除 fruit_id1415 的数据:

[DELETE] /api/some-uuid/fruit?primary_key=fruit_id&id_comma=12,13

// Response
1 // 实际删除了 1 条数据

发表回复

您的电子邮箱地址不会被公开。