我熟悉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 rest,restful architecutre 101等)。到目前为止,我发现的最佳定义(reference)指出;
表示形式是一个字节序列,外加描述这些字节的表示形式元数据。其他常用但不太精确的表示形式名称包括:文档,文件和HTTP消息实体,实例或变体。
虽然听起来像一个复杂的数据模型,但它可以分解为Java bean,因此重申我的问题,表示形式和 beans 本质上是同一件事,尤其是在Spring RESTful服务的上下文中?
答案 0 :(得分:1)
不要以为它们本质上是指同一个概念。
RESTful API中的表示形式仅表示响应格式。假设一个API支持返回JSON,XML和纯文本,我们说该API响应具有3个表示形式。将根据Accept
请求标头返回哪种表示形式(JSON,XML或纯文本)。
在实现过程中,我们通常使用JavaBean / POJO表示响应。通过使用某些库(例如Jackson),可以将相同的JavaBean / POJO转换为不同的表示形式,例如JSON和XML。