sroehrl / scaffold-api
高效的PHP框架
v1.0.3
2020-07-27 15:41 UTC
Requires
- php: ^7.4
- ext-json: *
- mnsami/composer-custom-directory-installer: 1.1.*
- neoan3-apps/db: ^0.2.1
- neoan3-apps/file-away: 1.0.0
- neoan3-apps/ops: 2.0.*
- neoan3-apps/stateless: 1.0.*
- neoan3-apps/template: ^1
- neoan3-apps/transformer: ^1
- neoan3-model/index: ^0.0.1
This package is auto-updated.
Last update: 2024-09-11 07:34:48 UTC
README
这是由于一个twitch.tv/neoan3会议的结果而快速定制的API脚手架
这是什么?
几秒钟内创建您的后端,并通过命令行添加端点。您不需要数据库,此工具附带了基于文件的数据库以方便您使用。然而,您可以在任何时间轻松添加数据库。
开箱即用,您有
- 用户注册
- 用户登录/认证
- JWT / 无状态认证端点
- 开发服务器
安装
注意:需要neoan3-cli、PHP和composer全局可用。
composer create-project sroehrl/scaffold-api
neoan3 develop
这就对了,您的项目应该可以运行。
使用方法
在项目目录中,运行
php scaffold <yourAPIendpointName>
以生成get和post端点。
可以通过编辑生成的模型和组件文件来修改端点(或添加额外的方法)。有关详细信息,请查看neoan3。
用户模型
此项目已包含用户模型和端点。
要注册
POST /api.v1/users
{ "userName": "name82", "password": "123456", "whatever": "any-key-value-pair" }
响应格式
{ "user": { "userName": "name82", "_id": "id-with-high-entropy" }, "token": "JWT-token" }
所有生成的调用都需要使用JWT-token。
// e.g. axios const config = { headers: { Authorization: `Bearer ${token}` } }; axios.get('http://localhost:8080/api.v1/test/1',{},config).then(...)
登录
POST /api.v1/users/auth
期望与注册相同的json格式(userName,password),返回相同的格式。
示例
php scaffold posts
生成以下端点
POST /api.v1/posts 创建新帖子
GET /api.v1/posts 返回多个帖子;接受可选参数(例如?title=first)
GET /api.v1/posts/:id 获取帖子
PUT /api.v1/posts/:id 更新帖子
// e.g. axios const config = { headers: { Authorization: `Bearer ${token}` } }; const endpoint = "http://localhost:8080/api.v1/posts"; // create post axios.post(endpoint, { title: "my first post", content: "What a day!", gitHubLink: "https://github.com/sroehrl", author: "neoan" },config).then(res => { const post = res.data; // get all posts by neoan axios.get(endpoint + '?author=neoan',{},config).then(res => { const allPosts = res.data; }) })
整体视图
设置旨在翻新,而不是生成纯测试-api,这意味着结构是稳固的。您可以在提供即时可用性的同时构建实际的数据库实现。