Php Laravel API JSON请求更改属性名称
关于如何在Laravel中更改JSON请求的属性名或属性,有什么解决方案吗 类似于雄辩的API资源,但在响应中,它将在请求中完成,然后再指向请求验证 由此,Php Laravel API JSON请求更改属性名称,php,json,laravel,laravel-5,eloquent,Php,Json,Laravel,Laravel 5,Eloquent,关于如何在Laravel中更改JSON请求的属性名或属性,有什么解决方案吗 类似于雄辩的API资源,但在响应中,它将在请求中完成,然后再指向请求验证 由此, { "agent_reference": "ABC-12345", "product_instance_id": "aca68c65-44c3-4ea1-a726-ca183de09a31", "add_ons": [ "string" ], "transportation": "st
{
"agent_reference": "ABC-12345",
"product_instance_id": "aca68c65-44c3-4ea1-a726-ca183de09a31",
"add_ons": [
"string"
],
"transportation": "string",
"guests": [
{
"guest_type_key": "string",
"add_ons": [
"string"
],
"field_responses": [
{
"key": "string",
"response": "string"
}
]
}
]
}
对此,
{
"agent_id": "ABC-12345",
"plan_id": "aca68c65-44c3-4ea1-a726-ca183de09a31",
"additional_params": [
"string"
],
"pickup_place": "string",
"visitors": [
{
"visitor_kty": "string",
"additional_params": [
"string"
],
"responses": [
{
"id": "string",
"result": "string"
}
]
}
]
}
Laravel4支持这样的东西,然而,遗憾的是,随着Laravel5的发布,它被删除了 对于Laravel 5.2+,实现这一点的“简洁”方法是覆盖
App\Http\Requests\FormRequest
类中的validationData()
方法
看看:
照亮\Foundation\Http\FormRequest
受保护的函数validationData()
{
返回$this->all();
}
上述函数用于返回将发送到验证的所有输入,$this
是请求本身
因此,在您的App\Http\Requests\FormRequest
类中,您定义了完全相同的方法,获取输入,根据需要进行清理(甚至按照您的问题中的要求,使用不同的键名创建一个全新的结构),在请求中替换它以保持并返回,如下所示:
/**
*从请求中获取要验证的数据。
*
*@return数组
*/
受保护的函数validationData()
{
$inputs=$this->all();
//根据您的喜好清理$inputs。
$this->replace($inputs);//保存。
返回$this->all();
}
这就是在Laravel 5.2+中实现的方法
希望能有所帮助。谢谢,先生,但问题是如何更改这些属性名称,特别是嵌套数组属性,以便传入此validationData函数?使用Laravel无法实现这一点,您必须使用纯php解决。非常感谢您的回答,先生。上帝保佑。