Spring 来自变量的动态 HttpStatus

Spring dynamic HttpStatus from a variable

我有一个应用程序,我使用 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 ??..>);

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

我的需求有解决方案吗?

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

HttpStatus.valueOf(myCoolStatusCode)

示例:

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

希望对您有所帮助!