当前位置: 首页 > 知识库问答 >
问题:

在请求头Spring引导中使用枚举常量

阎承
2023-03-14

我有一个spring boot应用程序,希望使用枚举常量来指定如下所示的值,但是,编译器生成了一个错误“类型不匹配:无法从常量转换为字符串”。下面是代码块

@RequestMapping(method= RequestMethod.POST, value="/user")
public User createUser(@RequestBody User user,
        @RequestHeader(value= Constants.HEADER_USER_AGENT) String userAgent
)

我知道我可以使用公共静态字符串代替枚举,但我想知道是否可以使用枚举常量?

共有2个答案

卓新知
2023-03-14

例如,在您的控制器中。

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

标头请求示例:

X-My-Header: MY_ENUM_VALUE
宗沛
2023-03-14

那么...怎么样

Constants.HEADER_USER_AGENT.toString()

例如?请记住:枚举不是字符串,但可以转换为字符串!

 类似资料:
  • 我使用的是Spring boot,这里是maven依赖项 我试图用Angular创建一个HTTP请求帖子(我也有一个工作正常的GET请求),但我得到了这个 在响应头中 我意识到在响应中,allow没有POST方法。 控制器中的方法

  • 我是Spring启动的新手,并试图使用枚举作为Rest请求的参数。 这是我的枚举类: 在我的控制器类中,我使用了以下方法: 这是我的JSON: 但它不起作用。。我收到以下错误:

  • 问题内容: 通过阅读SCJP书籍,我在第1章“自测”中发现了类似的内容: 注意:代码编译正常。我不明白的是为什么我们可以从变量访问DOG,CAT或FISH常量。我认为(并且也写在书中)DOG,FISH,CAT是常量,其实现方式类似于。 所以,如果它们确实是静态的,为什么我们可以从中访问它们呢?最后一行是我熟悉的方式。 问题答案: 写作 和写作一样。也就是说,编译器将用其编译时类型Animal替换变

  • 问题内容: 我有一个通过ctypes访问的结构: 到目前为止,我有类似以下的Python代码: 但是我不确定该用什么枚举。我应该将其映射到a还是? 问题答案: 至少对于GCC来说,只是一个简单的数字类型。它可以是8位,16位,32位,64位或其他任何值(我已经用64位值对其进行了测试)以及或。我猜它不能超过,但是实际上你应该检查你的范围并选择类似。 这是一个例子。C程序: 和Python之一:

  • 我正在开发一个应用程序,它由一个用Spring Boot开发的后端应用程序和一个用Angular 8开发的前端应用程序组成。现在,我想启用Cross Origin来让前端调用后端的API。 根据Spring关于CORS的文档,我编写了以下配置类: 第一次尝试是将AllowedOrigins设置为。 当我从Angular应用程序调用api时,我在控制台中发现了以下错误: CORS策略阻止了从来源“h

  • 枚举(enum)是定义一组命名常量的机制,用这种方式定义的常量被称作枚举常量 注:枚举常量的数据类型是整数 使用方法: 下面我们以文本语音转换为例子,说明一下枚举常量的使用方法。 首先我们在窗体上放入语音识别控件,按钮,通用对话框这些基本控件,来制作一个简单的语音文本朗读程序。 1 如果您使用过语音识别控件,就应该知道,使用这个控件的第一步就是先创建它,而创建命令的两个参数就是枚举常量,我们可以看