plinct/api

基于 Schema.org 提出的方案构建的 Plinct App API

3.0.6 2024-06-14 15:40 UTC

README

根据 schema.org 标准构建的 SQL 数据库数据操作接口。

### 开发中 ###

依赖关系

  • composer
  • php 7.4 | 8.0
  • slim/slim 4
  • slim/psr7

入门指南

在您的网站上进行安装

创建 mysql 架构;

在 mysql 架构上创建两个用户:一个公开用户和一个管理员用户;

授予公开用户仅对用户表进行插入权限,并授予管理员用户所有权限;

GRANT INSERT ON schema.user TO 'publicUser'@'hostname' IDENTIFIED BY 'password';

在首页根目录添加

<?php
declare(strict_types=1);

use \Slim\Factory\AppFactory;
use Plinct\Api\PlinctApiFactory;

// autoload
include '../vendor/autoload.php';

// slim app
$slimApp = AppFactory::create();

// for enable routes PUT and DELETE
$slimApp->addBodyParsingMiddleware();

/******** PLINCT API ***********/
// api factory
$api = PlinctApiFactory::create($slimApp);
// database connect
$api->connect("driver", "host", "dbname", "username", "password");

$api->run();

// run
$slimApp->run();

使用 https://domain/api/start 启动 api,通过 HTTP POST 请求发送,通过表单 url 编码使用和带有名称的值发送数据库管理员用户名和密码;

在 https:///api/user 上注册用户,通过 HTTP POST 请求发送,使用表单 url 编码;

更新表 user 中的管理员用户状态为 1

启用类型

  • 操作
  • 文章
  • 书籍
  • 联系点
  • 事件
  • 图像对象
  • 本地商业
  • 组织
  • 地点
  • 邮政地址
  • 产品
  • 属性值
  • 服务
  • 分类
  • 视频对象
  • 网站
  • 网页
  • 网页元素

API 访问

使用 https://yourdomain.dpn/api 与基本 URL

获取类型的所有项目

Https://yourdomain.dpn/api/[typename]

获取类型及其 additionalType 属性的类型和子类

https://yourdomain.dpn/api/[type]?format=classHierarchy&subClass=[additionalType]

用于查询字符串中的属性

格式=

项目列表

  • 返回具有 numberOfItemsItemListElement 属性的 ItemList 类型

类层次结构

  • 返回类型、类(类型的子类)和子类(子类的子类)的数据