grails URL映射中的参数化操作名称
我正在尝试将JSON api映射到我的控制器,如: /api/user/1/location GET-->Controller.getLocation() /api/user/1/location POST-->控制器。setLocation() 我尝试了以下url映射规则,但没有成功:grails URL映射中的参数化操作名称,grails,urlmappings.groovy,Grails,Urlmappings.groovy,我正在尝试将JSON api映射到我的控制器,如: /api/user/1/location GET-->Controller.getLocation() /api/user/1/location POST-->控制器。setLocation() 我尝试了以下url映射规则,但没有成功: "/api/$controller/$id/$property" { action = {[GET: "get${params.property.capitalize()}", POST
"/api/$controller/$id/$property" {
action = {[GET: "get${params.property.capitalize()}", POST: "set${params.property.capitalize()}"]}
}
任何人都尝试过类似的方法我尝试过,并成功地实现了这两种方法:
"/api/$controller/$id/$property"{
action = {"get"+params.property.capitalize()} //put all joint into the {} bracelet
}
及
但未能将动态参数分配到[GET:'',POST:'']映射,例如:
"/api/$controller/$id/$property"{
action = {["POST": "set"+params.property.capitalize(), "GET": "get"+params.property.capitalize()]}
}
及
两者都产生了404错误
所以我猜Grails只允许这种配置是静态的。也许有人以后可以深入研究源代码来发现
"/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()}]
}