symfony中的json格式的custum error reponse

时间:2017-05-16 13:35:42

标签: json symfony exception

我尝试读取json数据,所以当状态为ok(200)的响应时,我可以以json格式正确获取数据,但是如果没有要返回的项目,webservice会返回一条消息,因此他会生成一条消息:

{"message " : "item not found" } 

问题是,当symfony发现未找到的响应时,他会抛出未找到的异常,而我只想返回webservice提供的消息。

这是我的控制器代码:

/**
     *
     * @Get("/getUserByUid/{uid}")
     */
    public function getUserByUidAction($uid)
    {
        $url = self::Ws_URL . self::Ws_PORT . self::Ws_GetUserByUID . $uid;

        $headers = array() ;
        $headers[] = "auth_token: ".self::Ws_Token ;
        $headers[] = "Content-Type: application/json" ;
        $arrContextOptions=array(
            "ssl"=>array(
                "verify_peer"=>false,
                "verify_peer_name"=>false,
            ),
            "http" =>array(
                "method" => "GET",
                "header" => "auth_token: ".self::Ws_Token
            )
        );
        $response   = file_get_contents($url, true, stream_context_create($arrContextOptions));

        return New Response($response) ;
    }

1 个答案:

答案 0 :(得分:0)

如果Web服务是RESTFull,则返回带有上述消息{"message " : "item not found" }的http代码404,然后file_get_contents无法获取文件的内容,因为404正在说Does not exist。要获得完整响应,http代码请使用curl