luciocodeigniter / api-ci4-car-workshop
用于创建客户、他们的汽车、他们的地址、创建服务和员工的API。使用Codeigniter 4创建客户车辆维护。该API提供注册和身份验证。
v1.0.0
2024-01-27 00:41 UTC
Requires
- php: ^7.4 || ^8.0
- codeigniter4/framework: ^4.0
- codeigniter4/shield: ^1.0
- firebase/php-jwt: 6.4
Requires (Dev)
- fakerphp/faker: ^1.9
- mikey179/vfsstream: ^1.6
- pelmered/fake-car: ^1.7
- phpunit/phpunit: ^9.1
README
功能
- 注册
- 登录
- CRUD 客户
- CRUD 客户汽车
- CRUD 客户地址
- CRUD 员工
- CRUD 服务
- CRUD 维修汽车
- CRUD 维修汽车服务关联
服务器要求
- 开发PHP 8.2.7和Codeigniter 4.4.4
- 以下扩展需要启用
- intl
- mbstring
- 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