grails 2.4.4 @Resource为所有URL提供404

时间:2014-11-03 13:08:32

标签: rest grails

我很难知道如何在grails中实现REST。 documentation说我应该能够做到以下几点:

User.groovy

import grails.rest.*
@Resource(uri='/users')
class User {
  // lots of stuff
}

UserController.groovy

class UserController {
static scaffold = true;
}

基本上,如果我尝试以下任何一个URL,我总是得到404:

 http://localhost:8080/myapp/users/
 gives: HTTP Status 404 - "/players/index.gsp" not found.

 http://localhost:8080/myapp/users/1
 gives: 404, the requested resource is not available (I have users defined in bootstrap)

注:

  1. 我也试着用脚手架线注释掉了。
  2. ... / myapp / user确实有效,但提供了HTML页面
  3. 即使@Resource确实有效,但实际上并不是我想要的。我需要为每种方法定制逻辑。我在2.3中找到了许多记录不同的方法来做到这一点,但不知道这是否仍然是2.4的正确方法?

1 个答案:

答案 0 :(得分:4)

我找到了一个有效的解决方案:

  1. 删除@Resource(uri =' / users')行
  2. 将以下行:" / users"(资源:"用户")添加到文件中:urlMappings.groovy。
  3. Et voila,与@Resource注释一样工作,不需要进行其他更改。

    我只能假设资源注释中存在错误,或者只有在没有已定义的控制器或类似控件的情况下它才有效。