HttpMessageConverter无效的EOF处理

时间:2013-06-24 14:35:23

标签: java spring eof

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

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

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

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

  1. 抛出IOException(应该是EOFException)。
  2. 抛出HttpMessageNotReadableException(其本身可能EOFExceptioncause()

1 个答案:

答案 0 :(得分:1)

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

Spring自己的MappingJackson2HttpMessageConverter也是translating all IOExceptions into HttpMessageNotReadableExceptions