“APPLICATION_JSON”和“APPLICATION_JSON_VALUE”之间的区别

2022-09-01 17:37:04

我是春季开发的新手,想知道和有什么区别?MediaType.APPLICATION_JSON_VALUEMediaType.APPLICATION_JSON

我有一个想法,两者都表示相同的内容类型,但如果我把一些编译器错误显示添加到我的休息控制器和何时使用?application/jsonMediaType.APPLICATION_JSON@controller@ResponseBodyMediaType.APPLICATION_JSON

@RequestMapping(value="/invite", method = POST, consumes = { MediaType.APPLICATION_JSON })
public @ResponseBody String sendInvite( ... ) { ... }

答案 1

引用javadoc,是“公共常量媒体类型”,而“字符串等价物”。MediaType.APPLICATION_JSONapplication/jsonMediaType.APPLICATION_JSON_VALUEMediaType.APPLICATION_JSON

Java 注解上的属性只能是一组有限的类型之一。这可以防止用作注释属性。为了克服这一点,a 与 包含 上的各种常量一起使用。MediaTypeStringStringMediaTypeMediaType.APPLICATION_JSON_VALUE

在批注之外,如果要引用媒体类型,则应使用更强的类型,而不是传递实际上可能是也可能不是媒体类型的媒体类型。因此,例如,您将使用而不是.MediaTypeStringMediaType.APPLICATION_JSONMediaType.APPLICATION_JSON_VALUE


答案 2

推荐