我使用Symfony创建了api rest服务器,这些包括FosRestBundle,jms/serializer-bundle,lexik/jwt-authentication-bundle.
我该如何发送一个干净的json响应格式,如下所示:
Missing field "NotNullConstraintViolationException"
{'status':'error','message':"Column 'name' cannot be null"}
or
{'status':'error','message':"Column 'email' cannot be null"}
Or Duplicate entry "UniqueConstraintViolationException" :
{'status':'error','message':"The email user1@gmail.com exists in database."}
Run Code Online (Sandbox Code Playgroud)
而不是系统消息:
UniqueConstraintViolationException in AbstractMySQLDriver.php line 66: An exception occurred while executing 'INSERT INTO user (email, name, role, password, is_active) VALUES (?, ?, ?, ?, ?)' with params ["user1@gmail.com", "etienne", "ROLE_USER", "$2y$13$tYW8AKQeDYYWvhmsQyfeme5VJqPsll\/7kck6EfI5v.wYmkaq1xynS", 1]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'user1@gmail.com' for key 'UNIQ_8D93D649E7927C74'
Run Code Online (Sandbox Code Playgroud)
返回一个干净的json响应,其名称为必填字段或错过字段.
我的控制器:
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; …Run Code Online (Sandbox Code Playgroud)