java - 来自变量的 Spring 动态 HttpStatus

标签 java spring spring-web

我有一个应用程序,我在其中使用 ResponseEntity 从我的 Controller 返回动态 HttpStatus 代码

return new ResponseEntity<String>("Unrecognised request.", HttpStatus.BAD_REQUEST);

下一个要求是从数据库加载响应主体和状态代码。代码看起来像

String msg = <<loaded from database>>;
String status = <<loaded from database>>; //type can be changed to int
return new ResponseEntity<String>(msg, <..what to do here ??..>);

状态代码不会作为字符串/整数从数据库中检索。由于 HttpStatus 是一个枚举,我没有找到任何其他方法来做到这一点。

我的需求有解决方案吗?

最佳答案

如果从数据库中检索到的状态码总是定义为整数/长整型/数字值,您可以这样做:

HttpStatus.valueOf(myCoolStatusCode)

例子:

int someStatusFromDatabase = databaseService.getMeMyStatus();
String myAwsomeMessage = databaseService.getMeMyStausMessage();
return ResponseEntity.status(HttpStatus.valueOf(someStatusFromDatabase)).body(myAwsomeMessage);

希望这对您有所帮助!

关于java - 来自变量的 Spring 动态 HttpStatus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45282600/

相关文章:

Java,groovy REST 客户端比 Postman 慢 30 多倍

Spring Security session 并发

spring - 通过 XMPP 服务器接收 Java 服务器上的所有消息

java - Spring 依赖注入(inject) : Inject all instances of interface

rest - 在 Spring data rest 中,可以通过 POST/parent/{parentId}/nested 将嵌套的@OneToMany 对象添加到父级?

java - 使用大数据调用 post Rest api 时抛出错误

java - 无状态 Bean 上的并发

java - Eclipse 自动退出退出代码 127

java - Hibernate 三重多对多连接

java - 找不到用@Named#value 注释的方法