2012-05-04 60 views
-1

如何從lastName獲取此類的用戶,而不是來自id。
在我的例子中,我使用了REST Web服務。

我班USER.groovy Grails中:Grais Rest:從「lastName」獲取Json對象而不是「id」

class User { 
    String firstName 
    String lastName 
    String zipcode } 



類UrlMappings.groovy

class UrlMappings { 
     static mappings = { 

       /user/$id" (controller: "user") { 
          action = [GET: "show"] 
       } 
     } 
} 




高清顯示在UserController.groovy

def show = { 
    User user = User.get(params.id) 
    if (user) { 
     render user as JSON 
    } else { 
     SendNotFoundResponse() 
    } 

} 
+0

我的問題是檢索來自其他字段「ID」 – user1297967

+0

你已經嘗試過的一個JSON對象? –

回答

1

據我所知,你的問題是你不知道如何查詢其他字段的id域。對於當前的例子,你可以使用:

User.findByFirstName(params.id) 

而且,請閱讀GORM查詢 - http://grails.org/doc/latest/guide/GORM.html#querying

+0

+1使用此解決方案時要小心,User.findBy ______()將始終返回一個用戶。所以通過像這樣構建你的系統,你將限制你的系統只有一個姓名(或者你正在搜索的任何字段)。 finalAllBy ____()將返回一個列表,但隨後邏輯變得更加複雜。 – David

+0

我怎麼能恢復從用戶兩個參數,exmp由firstName和lastName爲例子?以及網絡導航器中URL的結構如何? – user1297967

+0

'findByFirstNameAndLastName',請閱讀我的回答鏈接。關於URL映射 - http://grails.org/doc/latest/guide/theWebLayer.html#urlmappings –