2015-02-09 99 views
0

我是新手與REST風格的服務,我想與澤西框架和MongoDB做一個寧靜的API,我的問題是:我如何搜索URL中的數據。REST風格的API與Jav​​a澤西島和MongoDB

e.g: 「本地主機:9999 /家庭/用戶/找到ID = 12345」,它將返回給用戶的ID = 12345

我們怎樣才能做到這一點與澤西?

感謝的

+1

什麼部分是你有問題?如何編寫澤西島代碼?如何編寫Mongo訪問代碼?對於前者,這是寶藏的東西。任何好的教程都應該提供一個使用'@ QueryParam'的例子,這就是你所需要的。如果是後者,請查看[Java驅動程序入門](http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started-with-java -driver)。這裏是[Jersey Documentation](https://jersey.java.net/)。我建議你做一個嘗試,如果你陷入困境,那麼回到一個更具體的問題。 – 2015-02-09 12:39:34

回答

1

您想查看@PathParam和@QueryParam。你可以在這裏找到更多關於他們兩個: http://docs.oracle.com/cd/E19776-01/820-4867/6nga7f5np/index.html

簡而言之,路徑參數是'/'之間的位,在你的例子中這是「查找」。並且查詢參數是id,其值爲12345.

然後,您需要在數據庫中查看該數據庫,以便讓您的結果返回。

+0

只是爲了澄清,「/」之間的位不一定是'@ PathParam'。它可能僅僅是「@ Path」本身的一部分。 – 2018-01-17 21:22:05

0

你可能想看看我幾年前寫的一篇文章。我有一個完整的堆棧MongoDb,澤西島,Jetty服務器用戶管理應用程序在下面的github [這裏](https://github.com/pmkent/angular-bootstrap-java-rest「Angular Bootstrap Java Rest」)!

+0

歡迎來到計算器!當提及外部鏈接時,請將所有相關部分複製到您的答案中。 – Aloso 2018-01-17 21:02:01

0

要在新澤西州query parameter,你會在球衣方法簽名定義它,像這樣:

@GET 
@Path("home/users/find") 
public Response myMethod(@QueryParam("id") int id) { 
    // utilizes the id specified in the url parameter "id" 
    User user = someMongoMethodToFindById(id); 
} 

一旦你正確地收穫了ID,就可以查詢您的MongoDB的,但是你會喜歡基於在那通過參考id

在澤西島,這種方法通常包含在一個可以組織所有相關Jersey資源的類中。我給出的例子使用了Jersey註記風格。

@Path("home/users") 
public class UserResources { 

    @Path("find") 
    public Response myMethod(@QueryParam("id")) { 
    ... 
    } 

}