在请求标头春季启动中使用Enum常数

时间:2019-03-20 21:11:59

标签: java spring

我有一个spring boot应用程序,想要使用Enum常量指定值,如下所示,但是,编译器会生成错误 “类型不匹配:无法从常量转换为字符串” 这是代码块

 const sql = `SELECT * from busqueda_ejecutivo WHERE rut = ?`;
    return this.database.executeSql(sql, [rut])
      .then((data) => {
        const todos = [];
        if (data.rows.length > 0) {
          for (let i = 0; i < data.rows.length; i++) {
            const todo = JSON.parse(data.rows.item(i).busqueda);
            todos.push(todo);
          }
        }
        console.log(todos);
        return todos;
      }).catch((err) => {
        console.log(err);
      });

我知道我可以使用公共静态String代替Enum,但是我想知道是否可以使用Enum常量吗?

2 个答案:

答案 0 :(得分:0)

Constants.HEADER_USER_AGENT.toString()

例如?请注意:枚举不是字符串,而是可以转换为一个字符串!

答案 1 :(得分:0)

例如,在您的控制器中。

@GetMapping
public void myEndpoint(@RequestHeader("X-My-Header") EMyEnum myEnum) {
    // ...
}

标头请求示例:

X-My-Header: MY_ENUM_VALUE