ebsp/resting

此包的最新版本(v5.8.1)没有可用的许可信息。

Laravel 的简单 REST 库


README

Laravel 的简单 REST 库

这是 Laravel 内置资源的一个补充。它的目标是更加类型感知、严格,并在模型和 API 接口之间强制执行一个层。

请注意

该项目是为个人项目开发的。目前不建议在生产项目中使用,因为可能会发生破坏性更改。

资源

资源是代表您在 API 中希望发送和接收的数据的类。资源被设计用来将数据层与 API 接口分离,使其更加灵活。资源由字段(属性)组成,每个字段都有一个类型。字段类型知道字段的 数据类型和验证标准。

资源应该扩展 Seier\Resting\Resource

字段

Resting 包提供了一些预定义的字段类型。以下字段类型包括

  • ArrayField
  • BoolField
  • CarbonField
  • DateField
  • EnumField
  • Field
  • IntField
  • NumberField
  • PasswordField
  • ResourceField
  • ResourceArrayField
  • StringField

您可以根据需要定义自己的。每个字段类型都实现了 public function set($value),该函数负责在设置时进行类型转换和/或验证字段输入。

在资源的构造函数中,为资源属性中的每个字段类型定义了一个实例。例如,如果资源公开了属性 id,相应的字段类型可以是 IntField

示例

一个示例资源可能如下所示

class UserResource extends \Seier\Resting\Resource
{
	public $id;
	public $name;

	public function __construct()
	{
		$this->id = new IntField;
		$this->name = new StringField;
	}
}

Todo

  • 实现 100% 的测试覆盖率
  • 清理并最终确定 OAPI 规范
  • 添加更多文档