Spring HttpMessageConverter
在读取数据时如何处理无效的EOF?也就是说,在这种情况下,Spring MVC的其余部分如何期望客户转换器发出错误请求的信号?
实现读取数据的方法的签名是
T read(Class<? extends T> clazz, HttpInputMessage inputMessage)
throws IOException, HttpMessageNotReadableException
因此有两种选择可以发出无效的EOF信号:
IOException
(应该是EOFException
)。HttpMessageNotReadableException
(其本身可能EOFException
为cause()
。答案 0 :(得分:1)
第二个选项可能更好,因为它更容易将其转换为响应代码400. IOException
是一般例外,无法对其进行任何特殊处理。
Spring自己的MappingJackson2HttpMessageConverter
也是translating all IOException
s into HttpMessageNotReadableException
s。