neoan.io/rest-api-starter-project

基本的 neoan.io Lenkrad 初始化包,带有身份验证

v1.4.0 2024-04-04 22:31 UTC

README

这是一个非常轻量级的项目设置,旨在让您快速启动 REST-api。

要求

  • php8.1
  • composer ^2
  • SQLite

安装

composer create-project neoan.io/rest-api-starter-project my-app

cd my-app

composer update

php install

运行: php dev

然后,访问 http://127.0.0.1:8080

基本教程

该项目附带一个基本教程,帮助您开始。为了更深入的理解,请访问 lenkrad 文档: neoan.io lenkrad

身份验证

安装后,您可以通过 POST /api/auth/register (src/Auth/Api/Register.php) 注册一个用户,请提供包含电子邮件和密码的有效载荷

curl -X POST -H "Content-Type: application/json" -d '{"email": "my@mail.com", "password": "123456"}' http://127.0.0.1:8080/api/auth/register

经过身份验证的调用将需要提供的 JWT-token

登录端点是 /api/auth/authenticate (src/Auth/Api/Authenticate.php),而端点 /api/auth/me (src/Auth/Api/Me.php) 返回当前用户。

限制路由

可以在各自的属性中在路由之前链接中间件(请参阅 src/Auth/Api/ME.php 以获取说明)

理解功能

src/Example 文件夹应该为您提供一个很好的起点,以便直观地理解 LENKRAD 核心在这个初始化包中的使用。请注意,您在结构方面完全自由。您在这个初始化包中找到的只是一个示例。

安全 / 在您部署之前

您的清单

  • .env 文件更新
  • 是否需要 src/Example 文件夹?
  • 是否只有 /public 文件夹公开暴露在网络上?

从 SQLite 更改为 MySQL 或 MariaDB

首先,将以下信息添加到您的 .env 文件中

  • DB_HOST
  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_CHARSET
  • DB_PORT

确保所选数据库已创建。然后,将 config/Database.php 的构造函数更改为使用 useMySql 方法而不是 useSQLite

迁移时,使用 mysql 代替 sqlite 保留字

php cli migrate:models mysql