基於jersey和Apache Tomcat構建Restful Web服務(二)html
上篇博客介紹了REST以及Jersey並使用其搭建了一個簡單的「Hello World」,那麼本次呢,再來點有趣的東西,固然也是很簡單了,僅僅是在路徑中包含參數而已了。接下來開始動手實踐吧。java
在路徑中包含參數json
接下來就在上次的基礎上進行改動便可,或者是再添加一個方法,隨意了,這個方法主要就是在路徑中加入輸入的參數,而且根據參數的不一樣,它的返回值也不一樣,返回值爲「Hello」+你輸入的參數。這裏用到了「PathParam」這個參數,具體代碼以下: app
1 @GET 2 @Path("/{username}") 3 @Produces(MediaType.TEXT_PLAIN) 4 public String getHello(@PathParam("username") String userName) { 5 System.out.println(userName); 6 return "Hello "+userName; 7 }
此次使用Firefox提供的RESTClient來測試,輸入路徑後結果以下:測試
怎麼樣,很不錯吧。可是貌似字符串用的很少欸,有木有,通常都是返回的Json格式的數據。那麼如何讓它返回Json格式的數據呢?this
使用POJO和List來使結果返回Json格式 spa
上面僅僅是簡單的字符串返回值,有夠無聊的,下面再來點更有趣的:.net
首先,你須要在WEB-INF的lib下加入一個用於處理Json的jar包,而後你須要建立一個People的POJO,個人POJO以下:code
1 @XmlRootElement 2 public class People { 3 4 private String name; 5 private String password; 6 7 public String getName() { 8 return name; 9 } 10 public void setName(String name) { 11 this.name = name; 12 } 13 public String getPassword() { 14 return password; 15 } 16 public void setPassword(String password) { 17 this.password = password; 18 }
此方法僅僅包含簡單的set/get方法。固然了,不要忘了對此類加Jersey的註解:@XmlRootElement。htm
接下來在你的類中加入方法:
1 @GET 2 @Produces("application/json") 3 @Consumes("application/json") 4 public List<People> getPass(){ 5 6 List<People> list = new ArrayList<People>(); 7 People people = new People(); 8 for (int i = 0; i < 6; i++) { 9 10 people.setName("Li"+i); 11 people.setPassword("123456"+i); 12 list.add(people); 13 } 14 return list; 15 }
好了,接下來就是測試了,和前面同樣,輸入路徑,將顯示以下結果:
其餘的諸如POST、PUT、DELETE方法與此相似,再也不一一示範。
欲瞭解更多,請參考如下資料:https://jersey.java.net/documentation/latest/getting-started.html#new-from-archetype
PS:本博客歡迎轉發,但請註明博客地址及做者,因本人水平有限,如有不對之處,歡迎指出,謝謝~
博客地址:http://www.cnblogs.com/voidy/
博客新址:http://voidy.net
<。)#)))≦