0

SpringHttpMessageConverter在读取数据时必须如何处理无效的 EOF?也就是说,在这种情况下,Spring MVC 的其余部分如何期望客户转换器发出错误请求?

为读取数据而实现的方法的签名是

 T read(Class<? extends T> clazz, HttpInputMessage inputMessage)
 throws IOException, HttpMessageNotReadableException

因此,有两种选择可以发出发现无效 EOF 的信号:

  1. 抛出一个IOException(应该是一个EOFException)。
  2. 抛出一个HttpMessageNotReadableException(它本身可能有一个EOFException作为它的cause())。
4

1 回答 1

1

第二个选项可能更好,因为它更容易将其转换为响应代码 400。IOException太笼统的例外,无法对其进行任何特殊处理。

Spring 自己MappingJackson2HttpMessageConverter将所有IOExceptions 转换为HttpMessageNotReadableExceptions

于 2013-06-24T18:27:30.243 回答