2013-07-31 23 views
0

最近,我問了一些問題,在這裏關於Web服務JAX-RS Web服務:如何隱藏一些實體領域和使用SSL

How to secure a database using web services?

Glassfish: deploy of multiple applications, some of them with SSL

,但沒有發現在所有 答案這次我將嘗試更具體地希望找到一些幫助...

我在Netbeans中創建了一個簡單的Web服務,使用從數據庫表創建Web服務的嚮導。該向導創建一個持久性單元,實體類並使用JPA。 寧靜的web服務是使用jax-rs創建的,我選中了「使用Jersey默認值」,這導致了創建一個web.xml文件。 它可以工作,但在數據庫表中有一些我需要過濾的字段,但我不想向客戶端報告:如何將它們隱藏在由restful web服務生成的xml/json中?

我該如何強制使用SSL?

我試圖把

<transport-guarantee>CONFIDENTIAL</transport-guarantee> 

在web.xml中,它迫使SSL但反應是不一樣的,它不是XML/JSON,但它只包含實體的值的串聯「領域。除了一些具有路徑參數的URI完全不起作用。我錯過了什麼?

感謝 菲利波

更新有關SSL

我做了一些更多的檢查和使用Firefox我使用SSL,而我與IE9奇怪的結果得到了有效的反應。在這種情況下,強制使用SSL,我得到一個包含字母數字字符的單個長字符串。儘快我將在另一臺電腦上重複測試。

回答

0

由於您使用的是澤西島,所以您應該隨身攜帶傑克遜。傑克遜幫助處理實體 - > JSON和JSON - >實體解析。

你正在尋找一個註釋稱爲

@JsonIgnore 

而且你會想要把那您希望從輸出掩蓋了成員的「吸氣」的方法。

來源:http://jackson.codehaus.org/

+0

在附帶的Netbeans 7.3澤西執行似乎傑克遜不包括在內,因爲在上面的註釋無法識別。我結束了使用@XmlAccessorType(XmlAccessType.FIELD)結合舊的可愛@XmlTransient註釋。 – Filippo