nodes/api

此包已被弃用且不再维护。作者建议使用 spatie/laravel-fractal 包。

用于 Dingo API 的 Nodes 封装

2.0.6 2018-03-04 18:16 UTC

README

⚠️此包已过时⚠️

现在 Laravel 对 REST API 的支持已经很好。 Dingo API 已不再处于测试阶段。

我们建议只使用 Laravel + spatie/laravel-fractal

基于流行的 Dingo API 包制作的一个“移动友好”的 API 包。

Total downloads Monthly downloads Latest release Open issues License Star repository on GitHub Watch repository on GitHub Fork repository on GitHub StyleCI

📝 简介

在此包之前,我们使用了优秀的流行 Dingo API 包,但作为一家创建大量原生 iOS / Android 应用的公司,Dingo 在某些方面还有所欠缺。

此包在某些方面是 Dingo 的一个更“移动友好”的版本。它是基于 Dingo 构建的,因此所有 Dingo 内置的实用功能也在此可用。

我们只是添加了额外的功能,并使其更加灵活。

📦 安装

要安装此包,您需要

  • Laravel 5.1+
  • PHP 5.5.9+

然后您必须修改您的 composer.json 文件,并运行 composer update 以将包的最新版本包含到您的项目中。

"require": {
    "nodes/api": "^1.0"
}

或者您可以从终端运行 composer require 命令。

composer require nodes/api:^1.0

🔧 设置

config/app.php 中设置服务提供者

Nodes\Api\ServiceProvider::class,

config/app.php 中设置别名

'API' => Nodes\Api\Support\Facades\API::class,
'APIRoute' => Nodes\Api\Support\Facades\Route::class

发布配置文件

php artisan vendor:publish --provider="Nodes\Api\ServiceProvider"

如果您想覆盖任何现有的配置文件,请使用 --force 参数

php artisan vendor:publish --provider="Nodes\Api\ServiceProvider" --force

绕过 Laravel 的 CSRF 令牌

Laravel 内置了一个 CSRF 令牌系统,默认情况下会连接到所有 POST 请求。这给我们带来了一些问题,因为 API 请求不会包含 Laravel 所期望的必需 CSRF 令牌。因此,我们需要对所有针对我们的 API 的请求进行 白名单

这可以通过修改以下文件 app/Http/Middleware/VerifyCsrfToken.php 并将 api/* 添加到 $except 数组中来实现。

protected $except = [
    'api/*',
];

⚙ 使用

请参阅我们的详细 Wiki 文档 获取更多信息。

🏆 致谢

此包由 Nodes 的 PHP 团队开发和维护。

Follow Nodes PHP on Twitter Tweet Nodes PHP

📄 许可证

本软件包是开源软件,遵循MIT许可证