src/User/Controller/UserController.php
public function passwordRecoveredAction() 
    {
		$this->getResponse()
			->setStatusCode(Response::STATUS_CODE_201);
		$userService = $this->getServiceLocator()->get('user.service.user');
		$id = $this->params()->fromRoute('id');
		
		try {
			$userService->passwordRecovered($id);
			$returnData = array(
				'status' => 'success',
				'message' => 'Ti abbiamo inviato un\'email con la nuova password per il tuo account. Se vorrai potrai modificarla una volta connesso.'
			);
    	} catch(\Exception $e) {
    		$this->getResponse()
    			->setStatusCode(Response::STATUS_CODE_500);
			$returnData = @unserialize($e->getMessage());
			
			if(!is_array($returnData)) {
				$returnData = array(
					'status' => 'danger',
					'message' => $e->getMessage()
				);
			}
    	}
    	
		return  new JsonModel($returnData);
    }
public function passwordRecoveredAction() 
    {
		$this->getResponse()
			->setStatusCode(Response::STATUS_CODE_201);
		$userService = $this->getServiceLocator()->get('user.service.user');
		$id = $this->params()->fromRoute('id');
		
		try {
			$userService->passwordRecovered($id);
			$returnData = array(
				'status' => 'success',
				'message' => 'Ti abbiamo inviato un\'email con la nuova password per il tuo account. Se vorrai potrai modificarla una volta connesso.'
			);
    	} catch(\Exception $e) {
    		$this->getResponse()
    			->setStatusCode(Response::STATUS_CODE_500);
			$returnData = @unserialize($e->getMessage());
			
			if(!is_array($returnData)) {
				$returnData = array(
					'status' => 'danger',
					'message' => $e->getMessage()
				);
			}
    	}
    	
		return  new JsonModel($returnData);
    }
public function passwordRecoveredAction ( ) { $ this -> getResponse ( ) -> setStatusCode ( Response :: STATUS_CODE_201 ) ; $ userService = $ this -> getServiceLocator ( ) -> get ( 'user.service.user' ) ; $ id = $ this -> params ( ) -> fromRoute ( 'id' ) ; try { $ userService -> passwordRecovered ( $ id ) ; $ returnData = array ( 'status' => 'success' , 'message' => 'Ti abbiamo inviato un\'email con la nuova password per il tuo account. Se vorrai potrai modificarla una volta connesso.' ) ; } catch ( \ Exception $ e ) { $ this -> getResponse ( ) -> setStatusCode ( Response :: STATUS_CODE_500 ) ; $ returnData = @ unserialize ( $ e -> getMessage ( ) ) ; if ( ! is_array ( $ returnData ) ) { $ returnData = array ( 'status' => 'danger' , 'message' => $ e -> getMessage ( ) ) ; } } return new JsonModel ( $ returnData ) ; }
When user receive password recovery email
and click on the link, he will arrive here

@return \Zend\View\Model\JsonModel
When user receive password recovery email and click on the link he will arrive here