use of org.springframework.web.bind.ServletRequestBindingException in project esup-papercut by EsupPortail.
the class PayBoxResourceController method getStats.
@RequestMapping(value = "/statsPapercut")
public void getStats(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletRequestBindingException {
HttpSession session = request.getSession();
String sharedSessionId = request.getParameter("sharedSessionId");
if (sharedSessionId != null) {
EsupPapercutSessionObject objectShared = (EsupPapercutSessionObject) session.getAttribute(sharedSessionId);
String requeteNbTransactions = objectShared.getRequeteNbTransactions();
String requeteMontantTransactions = objectShared.getRequeteMontantTransactions();
String requeteCumulTransactions = objectShared.getRequeteCumulTransactions();
String requeteCumulMontants = objectShared.getRequeteCumulMontants();
if (objectShared.isIsAdmin()) {
String flexJsonString = "Aucune statistique à récupérer";
try {
JSONSerializer serializer = new JSONSerializer();
flexJsonString = serializer.deepSerialize(statsService.getStatsPapercut(requeteNbTransactions, requeteMontantTransactions, requeteCumulTransactions, requeteCumulMontants));
} catch (Exception e) {
log.warn("Impossible de récupérer les statistiques", e);
}
InputStream jsonStream = IOUtils.toInputStream(flexJsonString, "utf-8");
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
FileCopyUtils.copy(jsonStream, response.getOutputStream());
}
}
}
use of org.springframework.web.bind.ServletRequestBindingException in project CILManagement-Server by LiuinStein.
the class GlobalExceptionResolver method resolveException.
/**
* Resolve the exception form controller
*
* @param request http request
* @param response http response
* @param o the executed handler, or null if none chosen at the time of the exception (for example, if multipart resolution failed)
* @param exception the exception that threw from controller
* @return a new ModelAndView
* @implNote https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/HandlerExceptionResolver.html
*/
@NotNull
@Override
public ModelAndView resolveException(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, @Nullable Object o, @NotNull Exception exception) {
RestfulResult result = new RestfulResult(1, exception.getMessage(), new HashMap<>());
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
if (exception instanceof SimpleException) {
result.setCode(((SimpleException) exception).getCode());
}
if (exception instanceof SimpleHttpException) {
response.setStatus(((SimpleHttpException) exception).getHttpStatusToReturn().value());
}
if (exception instanceof HttpRequestMethodNotSupportedException) {
result.setCode(405);
response.setStatus(HttpStatus.METHOD_NOT_ALLOWED.value());
}
if (exception instanceof ValidationException || exception instanceof ServletRequestBindingException || exception instanceof IllegalArgumentException) {
response.setStatus(HttpStatus.BAD_REQUEST.value());
}
if (exception instanceof DataAccessException) {
result.setMessage("database access error");
}
try {
if ("application/xml".equals(request.getHeader("Accept"))) {
response.setHeader("Content-Type", "application/xml;charset=UTF-8");
response.getWriter().print(result.toXmlString());
} else {
response.setHeader("Content-Type", "application/json;charset=UTF-8");
response.getWriter().print(result.toJsonString());
}
} catch (IOException e) {
e.printStackTrace();
}
return new ModelAndView();
}
use of org.springframework.web.bind.ServletRequestBindingException in project spring-framework by spring-projects.
the class DefaultHandlerExceptionResolverTests method handleServletRequestBindingException.
@Test
public void handleServletRequestBindingException() {
String message = "Missing required value - header, cookie, or pathvar";
ServletRequestBindingException ex = new ServletRequestBindingException(message);
ModelAndView mav = exceptionResolver.resolveException(request, response, null, ex);
assertThat(mav).as("No ModelAndView returned").isNotNull();
assertThat(mav.isEmpty()).as("No Empty ModelAndView returned").isTrue();
assertThat(response.getStatus()).as("Invalid status code").isEqualTo(400);
}
use of org.springframework.web.bind.ServletRequestBindingException in project spring-framework by spring-projects.
the class ResponseEntityExceptionHandlerTests method controllerAdviceWithNestedExceptionWithinDispatcherServlet.
@Test
public void controllerAdviceWithNestedExceptionWithinDispatcherServlet() throws Exception {
StaticWebApplicationContext ctx = new StaticWebApplicationContext();
ctx.registerSingleton("controller", NestedExceptionThrowingController.class);
ctx.registerSingleton("exceptionHandler", ApplicationExceptionHandler.class);
ctx.refresh();
DispatcherServlet servlet = new DispatcherServlet(ctx);
servlet.init(new MockServletConfig());
try {
servlet.service(this.servletRequest, this.servletResponse);
} catch (ServletException ex) {
boolean condition1 = ex.getCause() instanceof IllegalStateException;
assertThat(condition1).isTrue();
boolean condition = ex.getCause().getCause() instanceof ServletRequestBindingException;
assertThat(condition).isTrue();
}
}
use of org.springframework.web.bind.ServletRequestBindingException in project spring-framework by spring-projects.
the class ResponseEntityExceptionHandlerTests method servletRequestBindingException.
@Test
public void servletRequestBindingException() {
Exception ex = new ServletRequestBindingException("message");
testException(ex);
}
Aggregations