1

次のように、JSON APIをコントローラーにマップしようとしています:

/api/user/1/location GET --> Controller.getLocation()

/api/user/1/location POST --> Controller.setLocation()

次の URL マッピング ルールを試してみましたが、うまくいきませんでした。

    "/api/$controller/$id/$property" {
        action = {[GET: "get${params.property.capitalize()}", POST: "set${params.property.capitalize()}"]}
    }

誰でもこのようなことを試しました

4

1 に答える 1

2

私は両方を試して成功しました:

"/api/$controller/$id/$property"{
     action = {"get"+params.property.capitalize()}            //put all joint into the {} bracelet
}

"/api/$controller/$id/$property"{
     action = [GET: "getLocation", POST:"setLocation"]         //remove the {} bracelet
}

[GET:'',POST:''] マップへの動的パラメータの割り当てに失敗しました。例:

"/api/$controller/$id/$property"{
     action = {["POST": "set"+params.property.capitalize(), "GET": "get"+params.property.capitalize()]}
}

"/api/$controller/$id/$property"{
     action = [POST: {"set"+params.property.capitalize()}, GET: {"get"+params.property.capitalize()}]
}

どちらも 404 エラーを生成しました。

したがって、Grails では、この種の構成をまだ静的にすることしかできないと思います。誰かがソースコードを掘り下げて後で調べることができるかもしれません。

于 2012-12-26T17:01:38.880 に答える