Php 如何更改FosUserBundle表单中的数据接收格式?
我正在尝试使用FosUserBundle函数创建一个API应用程序 我无法更改数据传输格式,事实上,如果我使用以这种方式构建的参数发送请求,则可以:Php 如何更改FosUserBundle表单中的数据接收格式?,php,symfony,fosuserbundle,Php,Symfony,Fosuserbundle,我正在尝试使用FosUserBundle函数创建一个API应用程序 我无法更改数据传输格式,事实上,如果我使用以这种方式构建的参数发送请求,则可以: {"fos_user_registration_form": { "username":"test", "plainPassword": { "first":"123456",
{"fos_user_registration_form":
{
"username":"test",
"plainPassword":
{
"first":"123456",
"second":"123456"
},
"email":"test@test.com",
"name":"test"
}
}
但是,如果我更改字符串fos_用户注册表单,例如使用字符串user,使其更干净,作为一个公共API,将不再有效
是否可以更改此格式
谢谢大家的回答。我认为您应该创建另一个操作(rest控制器/操作),处理所需的信息,这将是:
{
"username":"test",
"plainPassword": "123456",
"email":"test@test.com",
"name":"test"
}
在这里,您可以使用表单手动处理验证,也可以不使用表单,然后使用管理器保存验证
我没有关于如何做的详细流程,但您基本上可以使用fos_用户在DI容器上注册的服务,如:
fos\u user.registration.form.factoryfos\UserBundle\form\factory\FormFactoryfos\u user.registration.form.typefos\UserBundle\form\type\RegistrationFormType fos\u user.user\u managerfos\UserBundle\doctor\UserManager
这将基本上允许您执行所有必要的验证,但可以从最终API用户自定义请求正文,此外,您还有更多的控制权,并且在更新时将是安全的。我认为您应该创建另一个操作(rest控制器/操作)来处理所需的信息,这将是:
{
"username":"test",
"plainPassword": "123456",
"email":"test@test.com",
"name":"test"
}
在这里,您可以使用表单手动处理验证,也可以不使用表单,然后使用管理器保存验证
我没有关于如何做的详细流程,但您基本上可以使用fos_用户在DI容器上注册的服务,如:
fos\u user.registration.form.factoryfos\UserBundle\form\factory\FormFactoryfos\u user.registration.form.typefos\UserBundle\form\type\RegistrationFormType fos\u user.user\u managerfos\UserBundle\doctor\UserManager
这将基本上允许您执行所有必要的验证,但从最终的API用户自定义请求主体,此外,您还可以进行更多控制,并且在更新时将是安全的。我终于找到了问题的解决方案 在FosUserBundle的配置中,在表单选项下有一个名为名称的选项 为了更好地理解,我在下面发布了我的配置(在这种情况下,我想更改表单注册名称):
致以最良好的祝愿。我终于找到了解决问题的办法 在FosUserBundle的配置中,在表单选项下有一个名为名称的选项 为了更好地理解,我在下面发布了我的配置(在这种情况下,我想更改表单注册名称):
致以最诚挚的问候。谢谢您的回复。但是,如果我有自己的控制器/操作,我不能以我想要的方式将请求参数发送到fos_user.registration.form,因为它会返回一个错误。如果我省略标题“fos\u user\u registration\u form”,它不会将数据绑定到表单。谢谢您的回复。但是,如果我有自己的控制器/操作,我不能以我想要的方式将请求参数发送到fos_user.registration.form,因为它会返回一个错误。如果省略标题“fos\u user\u registration\u form”,则不会将数据绑定到表单