thomasruiz/larapie

在1分钟内通过API公开您的模型!

dev-master 2017-10-11 13:12 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:04:13 UTC


README

在1分钟内通过API公开您的模型!

所以它仍然处于“测试版”,但不会太久,因为它运行得相当不错。

要求

  • PHP 5.6
  • Laravel 5.1

安装

通过composer安装

composer require thomasruiz/larapie

安装后,如果您不在Laravel 5.5上,请将服务提供者添加到您的config/app.php文件中

Larapie\LarapieServiceProvider::class,

添加默认的larapie.php配置文件

php artisan vendor:publish --provider=Larapie\\LarapieServiceProvider

用法

配置文件

// config/larapie.php
<?php

return [
  // Group configuration (optional)
  'group' => [
    'as'         => 'api.',
    'domain'     => 'api.domain.com',
    'middleware' => 'api',
  ],

  'resources' => [
    // Generates:
    // GET /users
    // GET /users/{user}
    // POST /users
    // PUT /users/{user}
    // DELETE /users/{user}
    'users' => App\User::class,
    
    // Relationship
    'users.foos' => App\Foo::class,
    
    // More complex example
    'foos' => [
      // Mandatory
      'model' => App\Foo::class,
      
      // All the rest is optional
      
      'disable_routing' => true, // default to false
      'request' => App\Http\Requests\FooRequest::class, // will run for routes store and update
      'requests' => [
        // Further customization
        'store' => App\Http\Requests\Foo\StoreRequest::class,
        'update' => App\Http\Requests\Foo\UpdateRequest::class,
      ],
      'router_options' => [
        'only' => ['index', 'show'],
        'middleware' => ['auth'],
      ],
    ],
    
    // WON'T WORK, 'bar' model is unknown
    'bar.foo' => App\Foo::class,
  ],
];

一切准备就绪!

清单

  • API版本控制
  • 包含JWT
  • index路由上的分页、排序和筛选
  • 使用Laravel策略
  • 自定义错误消息