l想访问_path
中的HttpMessageNotReadableException
属性,但是我不知道从哪个方法执行此操作。我该如何访问?
我的JDK版本是JDK8,而我的Spring Boot版本是2.1.4。
答案 0 :(得分:0)
您可以通过((MismatchedInputException)exception.getCause()).getPath()
来访问它,其中exception
的类型为HttpMessageNotReadableException
当然,这取决于类型为MismatchedInputException
的原因,我不确定所有可能的原因类型为100%,但是您基本上可以为每种可能的类型定义各自的逻辑以提取_path
可能。
我能够在以下异常处理程序方法中捕获并调查_path
;
@ExceptionHandler(HttpMessageNotReadableException.class)
public void handleBadRequestException(HttpMessageNotReadableException exception) {
((MismatchedInputException)exception.getCause()).getPath() // do whatever with the result
...
}
为了安全起见,null
可能更好一些,也许cause
可以是null
,所以在获取_path
之前先添加一个空检查
答案 1 :(得分:0)
这就是我要做的:
e.getHttpInputMessage().getHeaders().getLocation().getPath()
如有必要,我会留给您检查null
。