luciocodeigniter/api-ci4-car-workshop

用于创建客户、他们的汽车、他们的地址、创建服务和员工的API。使用Codeigniter 4创建客户车辆维护。该API提供注册和身份验证。

v1.0.0 2024-01-27 00:41 UTC

This package is auto-updated.

Last update: 2024-09-28 03:25:10 UTC


README

功能

  • 注册
  • 登录
  • CRUD 客户
  • CRUD 客户汽车
  • CRUD 客户地址
  • CRUD 员工
  • CRUD 服务
  • CRUD 维修汽车
  • CRUD 维修汽车服务关联

服务器要求

  • 开发PHP 8.2.7和Codeigniter 4.4.4
  • 以下扩展需要启用
  1. intl
  2. mbstring
  3. json

安装

1 - 使用Composer安装项目(需要Composer

composer create-project luciocodeigniter/api-ci4-car-workshop

2 - 将.env-exemple.txt文件重命名为.env,该文件位于项目根目录

3 - 将以下示例中的信息放入.env文件

#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------

CI_ENVIRONMENT = development

#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------

app.baseURL = 'https://exemplo.com/'
app.indexPage = ''


#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------

database.default.hostname = localhost
database.default.database = db-name
database.default.username = db-user
database.default.password = db-password
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.port = 3306


#--------------------------------------------------------------------
# JWT Authenticator
#--------------------------------------------------------------------
authjwt.keys.default.0.secret = oGPvp9lLkgTvcqlVIU3rJE46uJmedapcW3EJ6cr/9gw=

在数据库中创建和填充表。

1 - 在项目根目录下打开终端并运行以下命令

php spark api:init

2. 如果你想将数据库重置为其原始状态,只需在项目根目录下运行以下命令

php spark api:reset

3. 如果你想更改要创建的记录数,只需更改app\Database\Seeds中每个文件内的TOTAL_STEPS常量

//...

/**
* How many records do you want to create
*/
private const TOTAL_STEPS = 100; //<---- Change here

//..

在应用程序中注册

1. 向https://exemplo.com/api/register发送POST请求

如果请求被验证,你应在响应中看到access_token

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI8SXNzdWVyIG9mIHRoZSBKV1Q-Iiwic3ViIjoiMSIsImlhdCI6MTcwNjMxMDI5NSwiZXhwIjoxNzA2MzEzODk1fQ.G8SaDs_vaMqFnzELllLbfErKSUvYiofNoGzhMYQkqUg"
}

在向API发送所有未来请求时,客户端应在授权头中发送JWT作为Bearer令牌。

在应用程序中进行身份验证

1. 向https://exemplo.com/api/login发送POST请求

如果请求被验证,你应在响应中看到access_token

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI8SXNzdWVyIG9mIHRoZSBKV1Q-Iiwic3ViIjoiMSIsImlhdCI6MTcwNjMxMDI5NSwiZXhwIjoxNzA2MzEzODk1fQ.G8SaDs_vaMqFnzELllLbfErKSUvYiofNoGzhMYQkqUg"
}

在向API发送所有未来请求时,客户端应在授权头中发送JWT作为Bearer令牌。

- 客户端端点

列出所有

GET https://exemplo.com/api/customers

获取单个

GET https://exemplo.com/api/customers/1

创建

POST https://exemplo.com/api/customers

更新

PUT or PATCH https://exemplo.com/api/customers/1

删除

DELETE https://exemplo.com/api/customers/1

- 分页记录。列出记录的所有端点每页返回20条。你可以通过以下方式发送请求来更改此值

GET api/endpoint?page=1&perPage=50

- 其他端点

https://exemplo.com/api/cars
https://exemplo.com/api/employees
https://exemplo.com/api/services
https://exemplo.com/api/maintenance
https://exemplo.com/api/maintenance-services