spring - 设置响应体以防spring出错
问题描述
我在春天有一个 api,返回一个字节数组。如果发生任何错误,添加响应正文是否合乎逻辑/可能?
例如:
@GetMapping(value = ["path"], produces = ["application/pdf"])
@ResponseBody
fun method(@PathVariable("varib") var: String?,
request: HttpServletRequest?, response:
HttpServletResponse?): ByteArray? {
// some method which will return a byte arrat
return pdf
}
@ExceptionHandler(RUnTimeException::class)
fun errorHandler(e: Exception,response: ServletRespons) {
response?.setHeader('someheader','value')
}
如果出现异常,是否可以添加响应正文?从'errorHandler'方法内部?合乎逻辑吗?
解决方案
根据您使用的 Spring 版本,您不需要@ResponseBody
. 您应该使用一个@ControllerAdvice
来帮助管理不同层(存储库、服务、控制器)中的所有异常。您可以定义一个自定义响应消息来代表您的@Responsebody
. 我希望这个链接可以帮助你。
推荐阅读
- python-3.x - 在 Python 中使用“with”时,如何处理数据库类中的连接错误?
- windows - 跳过 FOR 循环中的特定迭代
- angular - 角度数据表
- java - Java 初学者 - 需要 Java 代码错误建议
- c# - 为什么在构建过程中会出现此错误?提到了一些关于无法调试的事情
- sql-server - 在 SQL 中检查输入的日期
- javascript - 使用切换开关控制表单的输入字段活动状态
- java - Java 执行器服务
- haskell - 堆栈找不到 -lncursesw
- css - 为什么 flexbox 不能使用 flex-direction 进行响应式设计?