基於jersey和Apache Tomcat構建Restful Web服務(二)

基於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的註解:@XmlRootElementhtm

  接下來在你的類中加入方法:

 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

  <。)#)))≦

相關文章
相關標籤/搜索