从变量Spring动态HttpStatus

时间:2017-07-24 13:59:48

标签: java spring spring-web

我有一个应用程序,我使用ResponseEntity

从我的控制器返回动态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是一个Enum,我没有找到任何其他方法来做到这一点。

我的要求有解决方案吗?

1 个答案:

答案 0 :(得分:3)

如果从数据库中检索的状态代码始终定义为整数/长整数/数值,则可以执行与此类似的操作:

HttpStatus.valueOf(myCoolStatusCode)

示例:

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

希望这有帮助!