在Spring RESTful服务的上下文中,“表示形式”和“ beans”是否相同

时间:2019-02-05 23:07:11

标签: spring rest

我熟悉Spring及其生态系统。使用Spring RESTful服务时,我遇到了representations

{"id":1,"content":"Hello, World!"}

一个简单的表示形式

在Java代码库中,我试图理解表示形式 beans 之间的区别。

阅读Spring的RESTful Web服务(link)简介,我了解表示形式是RESTful服务端点(在上面的示例中为JSON)的输入/输出,该端点与Java bean非常相似。但是, Java Bean 是标准(SO article)。

大多数(即使不是全部)REST文章介绍都使用术语表示而不对其进行定义。 (spring's introduction to restrestful architecutre 101等)。到目前为止,我发现的最佳定义(reference)指出;

  

表示形式是一个字节序列,外加描述这些字节的表示形式元数据。其他常用但不太精确的表示形式名称包括:文档,文件和HTTP消息实体,实例或变体。

虽然听起来像一个复杂的数据模型,但它可以分解为Java bean,因此重申我的问题,表示形式 beans 本质上是同一件事,尤其是在Spring RESTful服务的上下文中?

1 个答案:

答案 0 :(得分:1)

不要以为它们本质上是指同一个概念。

RESTful API中的表示形式仅表示响应格式。假设一个API支持返回JSON,XML和纯文本,我们说该API响应具有3个表示形式。将根据Accept请求标头返回哪种表示形式(JSON,XML或纯文本)。

在实现过程中,我们通常使用JavaBean / POJO表示响应。通过使用某些库(例如Jackson),可以将相同的JavaBean / POJO转换为不同的表示形式,例如JSON和XML。