title: Spring-Boot - Error Handling
body: <p>I'm trying to write error handler in Spring-Boot for my controllers that would catch most possible errors (Spring, sql etc.). So far I'm able to get JSON response with Nulls however i'm unable to put any data inside. When I try to get error message in I just receive a blank page.</p>
  
  <pre class="lang-java prettyprint-override"><code>import java.io.IOException;
  import java.sql.SQLException;
  
  import javax.servlet.http.HttpServletRequest;
  
  import org.springframework.boot.autoconfigure.web.ErrorController;
  import org.springframework.web.bind.annotation.ExceptionHandler;
  import org.springframework.web.bind.annotation.RequestMapping;
  import org.springframework.web.bind.annotation.RestController;
  import org.springframework.web.servlet.mvc.multiaction.NoSuchRequestHandlingMethodException;
  
  @RestController
  public class BasicErrorController implements ErrorController {
      private static final String ERROR_PATH = "/error";
  
      @RequestMapping(value=ERROR_PATH)
      @ExceptionHandler(value = {NoSuchRequestHandlingMethodException.class, SQLException.class, IOException.class, RuntimeException.class, Exception.class})
      public ErrorBody defaultErrorHandler(HttpServletRequest request, Exception e) {     
          ErrorBody eBody = new ErrorBody();         
          eBody.setMessage(e.getCause().getMessage());
          return eBody;
      }
  }
  </code></pre>
  
  <pre class="lang-java prettyprint-override"><code>import lombok.Getter;
  import lombok.Setter;
  
  @Getter
  @Setter
  public class ErrorBody {
      private String dateTime;
      private String exception;
      private String url;
      private String message;
  }
  </code></pre>