通過實例學(xué)習(xí)JAVA對象轉(zhuǎn)成XML輸出
一、總體說明 XML和JSON 是最為常用的數(shù)據(jù)交換格式
本例子演示如何將java對象,轉(zhuǎn)成XML輸出。
二、流程
1.在上文的例子中,創(chuàng)建一個包“com.waylau.rest.bean”
2.在該包下創(chuàng)建一個JAVA類”User”
package com.waylau.rest.bean; import javax.xml.bind.annotation.XmlRootElement; /* * * 用戶 bean * @author waylau.com * 2014-3-17 */ @XmlRootElement public class User { private String userId; private String userName; private String age; public User() {}; public User(String userId, String userName, String age) { this.userId = userId; this.userName = userName; this.age = age; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
注意:該類上面增加了一個注解“@XmlRootElement”,在將該類轉(zhuǎn)化成XML時,說明這個是XML的根節(jié)點。
3.在“com.waylau.rest.resources”中,增加資源“UserResource“,代碼如下:
package com.waylau.rest.resources; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.PathParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import com.waylau.rest.bean.User; @Path("/users") public class UserResource { private static Map<String,User> userMap = new HashMap<String,User>();//存儲用戶 /** * 查詢所有 * @return */ @GET @Produces(MediaType.APPLICATION_XML) public List<User> getAllUsers(){ List<User> users = new ArrayList<User>(); User u1 = new User("001","WayLau","26"); User u2 = new User("002","King","23"); User u3 = new User("003","Susan","21"); userMap.put(u1.getUserId(), u1); userMap.put(u2.getUserId(), u2); userMap.put(u3.getUserId(), u3); users.addAll( userMap.values() ); return users; } @GET @Path("/getUserXml") @Produces(MediaType.APPLICATION_XML) public User getUserXml() { User user = new User(); user.setAge("21"); user.setUserId("004"); user.setUserName("Amand"); return user; } }
其中MediaType.APPLICATION_XML 說明了是以XML形式輸出
在瀏覽器輸入http://localhost:8089/RestDemo/rest/users/getUserXml,輸出單個對象
在瀏覽器輸入 http://localhost:8089/RestDemo/rest/users 輸出對象的集合
本章源碼:https://github.com/waylau/RestDemo/tree/master/jersey-demo2-xml
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java Swing JProgressBar進(jìn)度條的實現(xiàn)示例
這篇文章主要介紹了Java Swing JProgressBar進(jìn)度條的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Java并發(fā)編程ArrayBlockingQueue的使用
ArrayBlockingQueue是一個備受矚目的有界阻塞隊列,本文將全面深入地介紹ArrayBlockingQueue的內(nèi)部機(jī)制、使用場景以及最佳實踐,感興趣的可以了解一下2024-08-08Mybatis-plus 批量插入太慢的問題解決(提升插入性能)
公司使用的Mybatis-Plus操作SQL,用過Mybatis-Plus的小伙伴一定知道他有很多API提供給我們使用,但是批量插入大數(shù)據(jù)太慢應(yīng)該怎么解決,本文就詳細(xì)的介紹一下,感興趣的可以了解一下2021-11-11