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 に答える