我有一个应用程序,我使用 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/

10-10 13:33