matrix2305 / laravel-request-object-mapper
从laravel请求(关联数组)到对象的映射器
dev-main
2024-06-05 22:26 UTC
Requires
- php: ^8.1
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异常