Jersey的RESTful小結

一些基礎的這一篇:Java Jersey2使用總結講的蠻清楚,結合使用過程中的幾個小地方再總結一下。

先看一個完整的例子:

@Path("/user")
public class Post {
    @GET
    @Path("{userid}")
    @Produces("application/json;charset=utf8")
    public String getPosts(@PathParam("userid") String userid, @DefaultValue("20") @QueryParam("limit") int limit){
      ……
    }

    @GET
    @Path("{postID:[0-9]*_[0-9]*}")
    @Produces("text/html")
    public String getPost(@PathParam("postID")String postID){
        ……
    }
}

@Path

代表了資源訪問路徑,也就是url中?前的路徑,可以對類和方法都加上@Path參數。

  1. 使用默認值
    如實例所示,使用默認值很簡單,在前面加上@DefaultValue("20")就可以了,該參數只接受字符串類型,因此雖然我們的最終參數是整形,這裏仍然使用了引號作爲字符串傳遞,後邊自己會做格式轉換。

  2. 使用正則表達式接受指定路徑
    如上例,訪問getPosts()方法的url可以是/user/userid?limit=10或者/user/userid;訪問個體Post()
    方法的url可以使/user/postID。在這裏使用了正則表達式將二者區分,userid形如3434343,而postid形如34343_343434,如果發現有下劃線,那麼就會調用getpost(),否則調用getposts().

@Produces

指定返回類型,另一個重要作用是指定編碼,如果有中文問題的時候記得在這裏加上編碼

發佈了110 篇原創文章 · 獲贊 19 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章