乐清小程序,关键词优化方法,做网站要学什么软件,android开发是做什么的我正在使用RESTAPI。接收到带有错误JSON的POST消息(例如{sdfasdfasdf})会使Spring返回默认服务器页面#xff0c;以显示400错误请求错误。我不想返回页面#xff0c;我想返回自定义JSON错误对象。当使用ExceptionHandler引发异常时#xff0c;可以执行此操作。因此#xff…我正在使用RESTAPI。接收到带有错误JSON的POST消息(例如{sdfasdfasdf})会使Spring返回默认服务器页面以显示400错误请求错误。我不想返回页面我想返回自定义JSON错误对象。当使用ExceptionHandler引发异常时可以执行此操作。因此如果它是一个空白请求或一个空白JSON对象(例如{})它将抛出NullPointerException我可以使用ExceptionHandler捕获它并做我想做的任何事情。那么问题是当Spring只是无效的语法时它实际上并没有引发异常……至少我看不到。它只是从服务器返回默认错误页面无论是TomcatGlassfish等。所以我的问题是如何“拦截” Spring并使其使用我的异常处理程序否则将阻止错误页面的显示并返回JSON错误对象这是我的代码RequestMapping(value /trackingNumbers, method RequestMethod.POST, consumes application/json)ResponseBodypublic ResponseEntity setTrackingNumber(RequestBody TrackingNumber trackingNumber) {HttpStatus status null;ResponseStatus responseStatus null;String result null;ObjectMapper mapper new ObjectMapper();trackingNumbersService.setTrackingNumber(trackingNumber);status HttpStatus.CREATED;result trackingNumber.getCompany();ResponseEntity response new ResponseEntity(result, status);return response;}ExceptionHandler({NullPointerException.class, EOFException.class})ResponseBodypublic ResponseEntity resolveException(){HttpStatus status null;ResponseStatus responseStatus null;String result null;ObjectMapper mapper new ObjectMapper();responseStatus new ResponseStatus(400, That is not a valid form for a TrackingNumber object ({\company\:\EXAMPLE\,\pro_bill_id\:\EXAMPLE123\,\tracking_num\:\EXAMPLE123\}));status HttpStatus.BAD_REQUEST;try {result mapper.writeValueAsString(responseStatus);} catch (IOException e1) {e1.printStackTrace();}ResponseEntity response new ResponseEntity(result, status);return response;}