java - 具有自定义状态代码的 Spring Boot Controller ?

标签 java spring spring-mvc spring-boot

在 Spring Boot 1.3.5 (Java 8) 中,我希望我的 Controller 返回自定义状态代码和状态消息。我所说的“自定义”是指不在 org.springframework.http.HttpStatus 中的状态代码。

我知道,我应该坚持使用标准代码(但我不能)。

目前我的 Controller 执行了

 HttpServletResponse response

  .
  .

 response.setStatus(255)

我得到了预期

 java.lang.IllegalArgumentException: No matching constant for [255]
     at org.springframework.http.HttpStatus.valueOf(HttpStatus.java:488)
     at org.springframework.test.web.servlet.result.StatusResultMatchers.getHttpStatusSeries(StatusResultMatchers.java:139)

请注意,操作可能会成功,因此在这种情况下,我想返回带有响应对象的自定义 2xx 代码(即 sendError 没有帮助)。

Google 表示这可能会在 springframework 4.3 中提供,但有人有现在实现的想法(使用 springframework 4.2.6)吗?

最佳答案

自定义 http 代码适用于 4.2。这是您的 junit 中的匹配器无法断言响应代码。应该可以在您的浏览器上运行。

关于java - 具有自定义状态代码的 Spring Boot Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38574660/

相关文章:

java - 同步块(synchronized block)锁定对象并等待/通知

java - 使用不包含 Navigator (Flutter) 的上下文请求的 Navigator 操作

java - 在单个类中使用多个事务的正确方法

java - 如何在 Spring Data 中按升序对一列进行排序,对另一列进行降序排序?

Hibernate 多对多关系无限循环?

java - hibernate 从子表中选择查询

java - Android:数据库中存储的时间与手机上的时间不同

java - Spring Boot 和 JPA 存储库 — 如何按 ID 过滤 GET

java - 如何使用 Spring MVC 在 jsp 中显示模型属性?

Java 按第三个元素对数组进行排序