2011-08-11 49 views
3

我目前正在使用Netbeans和Glassfish編寫一個Java REST Web服務。 WebService是SQL數據庫上的CRUD Web服務。 Netbeans通過實現簡單的CRUD方法爲我完成了大部分工作。 但我仍然有一個主要擔憂:傳遞複雜對象(如日期)的最佳方式是什麼?例如: :我想寫函數@GET getLessonsByDate(Date start,Date end)。 從我讀到的,我可以使用@Consume註釋,@QueryParam註釋或@PathParam。什麼是最好的?如果需要兩個日期呢?如果我還需要另一個複雜的數據類型呢?將複雜類實例傳遞給REST Web服務的最佳實踐是什麼?

請幫我...

回答

1

Web服務操作字符串。最終,所有的數據將被格式化爲一個字符串,所以你最好自己做格式化,以便控制。

我會以標準方式格式化日期,如YYYY-MM-DD HH-MM-SS。至於其他數據類型,它實際上是依賴於類型的,但JSON通常是一個不錯的選擇。世界正逐漸從XML轉向JSON的序列化格式。

2

我會使用JAXB。 (http://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding

這裏是一個很好的教程,應該可以幫助您: http://www.vogella.de/articles/REST/article.html

+1

+1 - JAXB是JAX-RS的默認綁定層。另外,由於JAXB是一個標準(JSR-222),因此有多種實現可供使用:Metro,EclipseLink MOXy,Apache JaxMe等。下面是一個鏈接到我已經放在一起的RESTful服務示例:http://blog.bdoughan。 COM/2010/08 /創建的RESTful的Web服務部分,15.html –

0

您可以使用json傳遞參數。 @Consumes(「application/json」)註釋支持使用Json。

相關問題