问题描述
我有一个数据库接口,该接口返回HashMap。 我正在编写一个JAX-RS REST接口,以从该数据库中检索数据并以XML或JSON的形式显示在浏览器中。
@XmlRootELement
标记负责POJO到XML / JSON的转换。
我应该如何处理Map to XML / JSON转换?
任何帮助表示赞赏!
1楼
考虑使用以下Rest接口。 我们定义了可以生成不同格式类型输出的注释“产品”。 在您的情况下,APPLICATION_JSON将生成JSON,APPLICATION_XML将生成XML格式。 因此,据此做出决定。
package : javax.ws.rs.PathParam;
@GET
@Path("/helloRest")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public MyPojo getHello();
您可以控制如何使用javax.xml.bind.annotation包中的Annotation生成XML格式。 如果需要,这将帮助您控制POJO对象名称和其他验证
@XmlRootElement(name="MyHello")
@XmlAccessorType(XmlAccessType.FIELD)
public class MyPojo
{
@XmlElement(name="id")
private int id;
@NotNull
@Size(min = 1, max = 10, message = "Mandatory Field")
@FormParam("code")
private String code;
@NotNull
@Size(min = 1, max = 50, message = "Mandatory Field")
@FormParam("name")
private String name;
@FormParam("status")
private String status;
JSON Format:
{"id":48,"code":"dfgfdgd","name":"aaaaaaaaa","status":"dfgfdgdd"}
XML Format:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MyHello><id>168</id>
<code>AS3</code>
<name>gfhfgh</name>
<status>A</status>
</MyHello>