lukaskorl/apigen

该软件包最新版本(v0.3)没有可用的许可信息。

为Laravel 4搭建RESTful API

v0.3 2014-06-04 12:29 UTC

This package is not auto-updated.

Last update: 2024-09-28 15:51:20 UTC


README

APIgen 为您搭建RESTful API。如果您选择 APIgen,它也会为您设置管理界面。

注意APIgen 目前处于快速开发阶段。强烈建议不要在生产环境中使用 APIgen 的当前版本。我正在努力尽快使 APIgen 达到稳定版本。

安装

composer require lukaskorl/apigen
php artisan apigen:publish

安装后的推荐步骤

apigen:publish 命令添加到项目 composer.json 文件的 post-*-cmd 脚本中,如下所示

"scripts": {
	"post-install-cmd": [
		"php artisan clear-compiled",
		"php artisan optimize",
        "php artisan apigen:publish"
	],
	"post-update-cmd": [
		"php artisan clear-compiled",
		"php artisan optimize",
        "php artisan apigen:publish"
	],
	"post-create-project-cmd": [
		"php artisan key:generate"
	]
},

用法

关于命名空间说明

默认情况下,APIgen 使用命名空间 Api。如果您不使用自己的命名空间,则需要在该项目的 composer.json 文件中注册此命名空间进行自动加载。要将 Api 命名空间注册到您的 composer.json 文件中,请将以下代码段合并到您的 composer.json 文件中

{
    "autoload": {
        "psr-4": {
            "Api\\": "app/Api"
        }
    }
}

生成资源

当生成资源时,APIgen 将为您生成以下内容

要创建新资源,只需运行 Artisan 命令

php artisan apigen:resource dog --fields="name:string, age:integer"

可选地,您可以通过添加 --namespace 选项来指定命名空间

php artisan apigen:resource dog --fields="name:string, age:integer" --namespace="Zoo\Animals"

有选项可以跳过一些生成器

  • --no-admin 阻止设置管理后端。
  • --no-route 阻止将路由添加到应用程序的 routes.php 文件中。
  • --no-controller 阻止生成API控制器。因此,您可以选择性地创建迁移、模型和仓库。请注意,如果没有生成控制器,也会跳过路由设置。
  • --no-migration 如果您决定手动设置,则阻止生成迁移文件。

生成仓库

当生成仓库时,APIgen 将为您生成以下内容

  • 您的仓库接口:通过实现接口,可以轻松切换实现。
  • 您的实体转换器:转换器在将实体发送到客户端之前过滤输出。因此,您可以对响应中的实体属性的可视性、别名和类型进行细粒度控制。
  • 您的仓库Eloquent CRUD实现:生成的仓库默认实现使用 Eloquent 访问数据库层。

生成模型

APIgen 可以为您生成Eloquent模型。

设置管理后端

APIgen 默认支持 FrozenNode/Laravel-Administrator。但是 APIgen 使用更先进的分支 lukaskorl/administrator

贡献

修改JavaScript & CSS

JavaScript 和 CSS 文件使用gulp预编译。如果您对源代码进行了修改,则需要重新编译它们。gulp任务已全部设置。请确保您已安装gulp和bower.io。

npm install -g bower
bower install

npm install gulp -g
npm install gulp gulp-util --save-dev
gem install sass
npm install gulp-ruby-sass gulp-autoprefixer gulp-minify-css gulp-notify gulp-rename gulp-cache gulp-concat gulp-coffee gulp-plumber gulp-uglify --save-dev

如果已安装必要的软件,请执行gulp任务以构建JS & CSS

gulp build