我已经使用Spring MVC 4(或Spring-
Boot)编写了简单的rest应用程序。在控制器内,我已返回ResponseEntity
。但是在某些情况下,我想提供成功的JSON,如果有验证错误,我想提供错误的JSON。当前,成功和错误响应完全不同,因此我为错误和成功创建了2个类。ResponseEntity<Success>
如果内部逻辑正常,我想在控制器内返回。否则我想回来ResponseEntity<Error>
。有没有办法做到这一点。
Success
和Error
是2类,我使用以表示成功和错误响应。
我建议使用Spring @ControllerAdvice
处理错误。从名为“ Spring
Boot错误处理”的部分开始,阅读本指南以获得良好的介绍。对于深入讨论,Spring.io博客中有一篇文章已于2018年4月更新。
关于其工作原理的简要概述:
ResponseEntity<Success>
。它不负责返回错误或异常响应。@ControllerAdvice
@ExceptionHandler
ResponseEntity<Error>
使用这种方法,您只需要在一个地方为API中的所有端点实现控制器异常处理。这也使您的API在所有端点上具有统一的异常响应结构变得容易。这简化了客户端的异常处理。
和是我用来表示成功和错误响应的两个类。
问题内容: 这是一个小问题,因为我可以轻松地参加一对班做这项工作。我并不是真的想要这样做,我觉得应该有一些简单的,内置的,类似于Java的方法来返回两个值。你们最好的,最简单的方法是什么?数组?其他一些数据结构? 问题答案: 据我所知,不幸的是在Java中没有对的内置表示(我当然希望有)。就个人而言,当我编写一个项目时发现配对类经常很有用时,我会创建一个通用类(这可能是您在想的)。返回数组是一种快
我想回复ResponseEntity的回复。我对在ResponseEntity中提到返回类型的最佳实践有点困惑。 这是我的控制器: 我的主要责任: 这里我的返回类型是GenericResponse、AdminAccount。在ResponseEntity中提及所有退货类型是否是一种良好的做法? 哪个是最好的方法
字符串 模型 ModelandView 我不明白这些行动之间的区别。你能给我解释一下吗?
如果网页上的JavaScript返回非十进制值,那么什么将是否将返回? 有人能回答这个问题吗?
我正在尝试实现和重写具有不同返回类型的方法,而不会被迫转换返回类型。 我的问题:是否可以在不强制强制转换的情况下返回不同的类型?解决这个问题的抽象方法看起来怎么样? 我认为必须有一个解决方案,因为编译器应该知道返回类型...