AdminOptiqueApiControllerAdvice.java

package com.sintia.ffl.admin.dentaire.api.configuration;

import com.sintia.ffl.admin.dentaire.api.exceptions.BadInternalTokenException;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;

/** Gestion centralisée des exceptions **/
@ControllerAdvice
public class AdminOptiqueApiControllerAdvice extends ResponseEntityExceptionHandler {

	/** Gestion centralisée de l'exception levée quand il y a tentative d'appeler un domaine inactif / inexistant **/
	@ExceptionHandler(value = { BadInternalTokenException.class })
	protected ResponseEntity<Object> handleConflict(Exception ex, WebRequest request) {
		return handleExceptionInternal(ex, ex.getMessage(), new HttpHeaders(), HttpStatus.FORBIDDEN, request);
	}

}