jianastrero / jugger-api
Jugger API使在laravel上创建API变得尽可能简单...
Requires
- doctrine/dbal: ^2.8
README
使用CRUD创建API | 无代码API创建
屏幕截图
描述
Jugger API使在laravel上创建API变得尽可能简单。它与您的应用程序一起运行,可以在http://yourdomain.com/jugger-api找到。它依赖于Passport、dbal和VueJS。Laravel Passport用于API的OAuth,VueJS用于创建API的Web部分。dbal用于转换/突变。Jugger API遵循API开发的最佳实践。
依赖项
- laravel/passport (取决于laravel版本,需要手动要求)
- doctrine/dbal (自动要求)
功能
- API路由的行政面板
- 集成Laravel Passport
- CRUD风格API创建
- 使用HTTP状态码处理操作和错误
- API版本控制
- 仅JuggerAPI的Jugger行政账户
- 在生产环境中自动禁用Web界面
- 支持文件上传的API
- 灵活
计划中的功能
- API概述
- 无代码突变转换
安装
1.要求包
composer require jianastrero/jugger-api
1.B要求Laravel Passport
Laravel 5.6及以上
composer require laravel/passport
Laravel 5.5
composer require laravel/passport=~4.0
Laravel 5.4
composer require laravel/passport=~2.0
2.根据您的laravel版本,您可能需要将其添加到config/app.php
'providers' => [ ... JianAstrero\JuggerAPI\JuggerAPIServiceProvider::class ... ]
3.发布Jugger API资源
php artisan vendor:publish --tag=jugger-api
4.使用数据库凭据设置配置
DB_HOST=localhost DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
5.迁移您的应用程序、Passport和Jugger的表(这对JuggerAPI和Passport都适用)
php artisan migrate
6.用其自己的种子填充Jugger API
php artisan jugger:seed
7.创建您的Jugger API行政账户(默认用户名:juggeradmin,默认密码:AdminPassword)
php artisan jugger:admin 或 php artisan jugger:admin myadminuser myadminpassword
Passport (用于OAuth)更多信息请参阅:Laravel Passport
8.安装Passport
php artisan passport:install
9.在User模型上使用trait HasApiToken
use Notifiable, HasApiTokens;
10.在AuthServiceProvider上添加Passport::routes
public function boot() { $this->registerPolicies(); Passport::routes(); }
11.在config/auth.php中设置api的驱动程序,并将Jugger API行政人员的守卫添加到Passport中,并在config/auth.php中添加Jugger管理员提供程序
'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], 'juggeradmin-api' => [ 'driver' => 'passport', 'provider' => 'juggeradmins', ], 'juggeradmin' => [ 'driver' => 'session', 'provider' => 'juggeradmins', ], ... 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'juggeradmins' => [ 'driver' => 'eloquent', 'model' => JianAstrero\JuggerAPI\Models\JuggerAdmin::class, ] ], ],
VueJS
12.安装npm包
npm install
13.安装npm vue session
npm install vue-session
14.让webpack识别资源(《webpack.mix.js》)
mix .js('resources/jianastrero/jugger-api/js/jugger-api.js', 'public/js') .sass('resources/jianastrero/jugger-api/sass/jugger-api.scss', 'public/css');
15.编译资源
npm run dev
如何使用
运行您的Web应用程序(php artisan serve),然后打开您最喜欢的Web浏览器并导航到http://127.0.0.1:8000/jugger-api。从这里,您可以使用任何现有的用户进行登录。如果您没有用户,最好创建一个。 在未来的更改中,JuggerAPI将有自己的登录账户,这样就不会干扰您的应用程序。请记住,到目前为止,需要使用电子邮件和密码进行身份验证和登录。
登录后,您就可以创建新的路由、编辑或删除。请注意,务必不要删除JuggerAPI的记录,因为它会阻止您创建、修改或删除新记录。为了解决这个问题,请再次运行php artisan jugger:seed。
要使模型被JuggerAPI识别,您的模型应使用HasTable和CanMutate特质。
use Notifiable, HasApiTokens, HasTable, CanMutate;
完成这些后,只需刷新您的页面,此模型将在添加和编辑模态选择中可用。
要允许在模型上添加和编辑,您需要定义可填充的字段。
protected $fillable = [ 'name', 'email', 'password', ];
对于自动转换,Jugger API使用模型的casts数组来转换数组。对于文件,使用juggerCasts数组。这将在新版本中更改以实现自动转换。
protected $casts = [ 'array_column' => 'array' ]; protected $juggerCasts = [ 'myfile' => 'file' ];
注意:在生产模式下(DEBUG关闭/为假),JUGGER API会自动禁用。这是为了防止在生产环境中更改API。
许可证
本软件根据MIT许可证发布。

