2013-06-04 135 views
0

我有一個看起來像/myController/myAction/id的URL。想在URL中隱藏id參數

我怎麼能隱藏在URL中的ID,因此它看起來像:/myController/myAction/username 仍然在控制器

+0

看到這個帖子http://stackoverflow.com/questions/16838160/hide-id-param-in- url-in-grails-app – Alidad

+0

也看到我對這個問題的評論 –

+0

@JamesKleeh LOL – dmahapatro

回答

0

收到ID如果你實際上並沒有以任何其他方式發送身份證只發送用戶名,可以通過獲取用戶用戶名,仍然需要在控制器中有user.id。正如@ Mr.Cat在給定鏈路由@Alidad提到: "/myController/myAction/$username"(controller: "myController",action: "myAction") 然後添加過濾器:

class userFilters { 
    def filters = { 
     addId(controller: 'myController', action: 'myAction') { 
      before = { 
       if (params && params.username) { 
        def u = User.findByUsername(params.username) 
        params.id = u.id 
       } 
      } 
     } 
    } 
}