小编csu*_*csu的帖子

Symfony 3 API REST - 尝试捕获JSON响应格式的异常

我使用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)

json exception symfony fosrestbundle symfony-3.2

2
推荐指数
1
解决办法
7451
查看次数

标签 统计

exception ×1

fosrestbundle ×1

json ×1

symfony ×1

symfony-3.2 ×1