2013-05-11 21 views
3

這看起來很基本,但我對網絡開發頗爲陌生,所以我有點卡在這裏。我有MongoDB在後臺運行,其中包含前端應顯示在地圖上的地理空間對象。後端和Web前端之間的溝通是我有知識差距的地方。如何創建簡單的JSON API,例如與碼頭?

用戶應該能夠縮放到他感興趣的地圖上的某個區域,然後按「搜索」。然後,後端會查找數據庫中具有用戶當前屏幕上座標的每個條目。它會將這些傳送到前端,理想的情況是作爲JSON對象的列表。前端將這些顯示在地圖上。

我有一個前端模擬,將數據放入MongoDB的代碼和查詢MongoDB的代碼。我知道我錯過了一個可以從前端查詢的服務器。我以爲我用Jetty。但是,我需要做什麼呢?我想我需要Jetty提供可以從JavaScript查詢的JSON API。有人可能會指向我需要實現的Jetty類或接口,並且可能會提供幾行關於如何從JavaScript中查詢的代碼?

回答

2

在這裏你有一個非常開放的問題。首先,Jetty只是一個Java Web容器(遵循Java EE Web Profile),雖然它的確有一些AJAX/JSON capabilities,但是它非常基礎,並且沒有連接到任何類型的查詢API。

如果您的項目使用Jetty和適當的REST/JSON API庫,您會做得更好。

一些例子(這些都不是唯一可用的選擇):

另請注意,有很多種基於Java的JSON APIs and Libraries,您應該瞭解它們,因爲您將在成功之路中遇到它們。

+0

喜,我不明白爲什麼json必須使用jersey(或類似的),並且不能通過response.getwriter.write(這裏是一個json字符串)來完成。 – Tiina 2016-09-26 09:25:25

+0

@Tiina你當然可以使用這種技術,你會得到更多的控制,但是你也可以重新實現澤西/雷斯特/休斯頓已經做的很多事情。 – 2016-09-26 12:41:11

1

最後我找到了Dropwizard框架(有可能是其他人),其中確實有很多是需要得到一個簡單的JSON API了開箱即用的工作:

http://dropwizard.io/