5

我有以下内容:

"/api/users"(controller: "user") {
   action = [GET:"list"]
}

打电话给我,http://localhost:8080/platform/users我得到了一个用户列表。然后我添加了这个:

"/api/users"(controller: "user") {
   action = [POST:"save"]
}

现在我得到一个 404 并且它没有命中 UserController 中的任何一种方法。我希望能够使用与控制哪个动作的动词相同的 URL。我做错了还是Grails不支持这个?

4

2 回答 2

11

来自 Grails 文档:URL 映射

static mappings = {
   "/product/$id"(controller:"product") {
       action = [GET:"show", PUT:"update", DELETE:"delete", POST:"save"]
   }
}

对于您的情况:

"/api/users"(controller: "user") {
   action = [GET:"list",POST:"save"]
}
于 2012-12-22T03:59:54.307 回答
1

检查您的 userController 以查看是否有相应定义的 allowedMethods ,如下所示:

class UserController {

    static allowedMethods = [save: "POST", list: "GET"]

    def list() {
    .....
    }

    def save() {
    .....
    }
}
于 2012-12-22T04:02:59.937 回答