区分Jersey,Jackson和JaxB API

jay*_*100 5 java rest json java-ee jackson

嗨:我一直在内部使用Jackson进行JSON处理,我希望将这些对象作为Jsons提供给外部API(REST)(现在,它们作为java对象存储在内部).

显而易见的实现是编写某种查询引擎来读取请求,从底层数据存储中检索对象,然后使用Jackson将它们序列化为Jsons.

但是我开始意识到已经有API可以用来组装这样的Web服务,处理很多平凡的细节(安全性,查询解析,REST协调).例如,似乎可以使用泽西注释来定义REST服务....

所以我的问题是:基于Java EE JSON的Web服务有哪些最先进的技术,以及这些服务用作数据存储的内容(即Plaintext?RDBMS?对象数据服务?)

最重要的是...... xml和json数据映射的不同apis之间的功能差异是什么,即jersey/Jackson/JaxB?

Sta*_*Man 5

除了使用 Jackson 的 Jersey(以及其他 JAX-RS impls,如 RESTeasy),您还可以从使用jDBI 之类的东西首先在 POJO 中绑定关系数据中受益。它可以完成更大的 ORM(如 Hibernate)所做的许多事情,但更易于用于大多数常见任务。

或者,如果您更喜欢 Hibernate,请使用Jackson Hibernate 模块来处理将 POHO 读/写为 JSON 时可能出现的一些边缘情况。

  • JAX-RS 是一个 REST 框架(Java Api for Rest-like web Services),Jersey 是 JAX-RS 的参考实现。Jersey 使用 JAXB (xml) 和 Jackson (json, bson, xml, csv) 等序列化框架来实际读取/写入内容。所以你可以使用任何机制来消费和生产数据,但 Jersey 已经捆绑了一个有用的集合。 (9认同)