我想返回200以外的HTTP状态,而不使用@ExceptionHandler
注释。
这样做的原因是,并不是每次调用我的应用程序(导致状态为not OK)都应该抛出异常,至少在我看来不是这样。
例如,如果一个用户试图登录系统,但提供了一个不准确的密码,我认为没有理由为了能够返回401状态而抛出异常。相反,我希望能够从“常规”方法中返回状态。
这背后的原因是,抛出不必要的异常既弄乱了我的日志文件,又“使用”了我的日志聚合器(Rollbar/哨兵)每月津贴。
我尝试过用@响应状态
和@响应身体
注释方法,但是不起作用。
我四处寻找关于这个问题的博客文章或其他文章,但什么也找不到。
你知道这是否可行吗?
看看下面的例子
@RestController
public class HelloWorldController {
@GetMapping("/hello")
public ResponseEntity<String> sayHello() {
return ResponseEntity.status(HttpStatus.CREATED).body("Hello World!");
}
}
您可以使用ResponseEntity
。将/*状态代码*/
替换为您想要的:
@GetMapping("/url")
@ResponseBody
public ResponseEntity<?> handlerMethod(/*parameters*/) {
// ...
return ResponseEntity.status(/*STATUS CODE*/).body(...);
}
问题内容: 这是我的用法- 另外,我在http GET周围放置了一个finally块- 这是我的堆栈跟踪- 我正在使用Quartz计划监视Http端点的工作。这是我的连接池配置 Maven依赖..工件版本 编辑 -好吧,通过不关闭finally块中的CloseableHttpClient,问题解决了。有人能说出为什么这样吗? 如果关闭客户端,为什么连接池会关闭? 是上面的closeablehttp
我正在为一个Spring-Boot应用程序编写组件测试,以测试我的安全配置。因此,我正在运行测试,应该测试成功的响应以及“禁止”状态。我遇到的问题是,由于我的REST调用需要一个复杂的JSON,对于阻塞的调用,测试会失败,因为TestRestTemplate试图反序列化不存在的响应体。 我正在运行一个Spring-Boot应用程序,tests类的注释如下: 我试图测试一个应该返回用户列表的REST
我在这里的编码
我正在尝试使用简单的Spring MVC项目,但我对Tom Cat有例外 类型异常报告 servlet MVC的消息servlet.init()-Dispatcher引发异常 说明服务器遇到内部错误,导致它无法完成此请求。 我的控制器: My Home.jsp
我正在学习Spring MVC,当我试图运行html文件时,它会给出错误HTTP Status 500-引发异常 这是我的web.xml 这是我的Spring调度员Servlet 这是我的jsp页面 这是我的HelloController课程 这是我得到的一个例外 我正在使用Eclipse 4.5.1、Tomcat 8.0.30和Spring 4.2.3。
我完成了这个教程(spring4和hibernate4),我还得到了这个消息: 谁能解释一下是什么问题吗?