matrix2305/laravel-request-object-mapper

从laravel请求(关联数组)到对象的映射器

dev-main 2024-06-05 22:26 UTC

This package is auto-updated.

Last update: 2024-09-05 22:57:41 UTC


README

重要:映射的所有属性必须为公共属性

通过BaseRequestObjectMapper扩展请求类

class CreateBannerRequest extends BaseRequestObjectMapper

在数组中映射子对象

#[ArrayChildObjectMap(objectClass: ChildRequestClass::class)]
public array $items;

映射数值数组

#[ArrayChildTypeMap(type: ArrayChildType::FLOAT)]
public array $itemsInArray;

Laravel对象验证器

如果在执行上述步骤之前,您可以通过PropertyValidationRules属性在类中验证属性

#[PropertyValidationRules(rules: 'required|integer', messages: ['required' => 'Id is required field.'])]
public int $id;

#[PropertyValidationRules(rules: 'required|string|max:255', messages: ['required' => 'Name is required field.', 'max' => 'Name can contains maximum 255 characters.'])]
public string $name;

如果验证未成功,BaseRequestObjectMapper将抛出FailedValidationException异常