Grails强大的UrlMapping[取消关注]

Grails强大的UrlMapping[取消关注]

在grails中urlMapping有着非常强大的功能,他可以实现简单的Restful风格,只需要简单配置一下就可以,如:

"/api/get(controller:"User",action:"edit")"

访问的时候访问:http://ip:端口/api/get他就会调用user控制器下面的edit方法,外界根本不知道你的控制器在哪儿,对后台接口起到保护作用。

还有一种,如你的后端为app提供接口,并且你提供的接口是固定的,比如:http://www.app.com/api/upgrade为后端接口,但是当你升级之后又添加了一个新的接口,此时如果你在原来的接口上面修改,可能后导致旧版本的app无法正常使用,所以这里我们可以在urlmapping中做文章。

原理:将action作为参数传递

UrlMapping配置:

package test1

class UrlMappings {

static mappings = {
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}

"/"(view:"/index")
"500"(view:'/error')
"404"(view:'/notFound')

//动态传递方法名
"/app/upgrade?/$action?"(controller: "api")
}
}

比如接口为:

package com.test

class ApiController {

def v1() {
println params
render "version.01"
}

def v2() {
render "version.02"
}
}

调用方式:

attachments-2017-12-zRATV1Jr5a38d76a1d264.pngattachments-2017-12-eYkTKpmv5a38d77ea717d.png将action作为参数传递:

attachments-2017-12-3SGwrdp05a38d7c0d7469.png

  • 发表于 2017-12-19 17:15
  • 阅读 ( 1701 )
  • 分类:grails

0 条评论

请先 登录 后评论
不写代码的码农
Jonny

程序猿

65 篇文章

作家榜 »

  1. 威猛的小站长 124 文章
  2. Jonny 65 文章
  3. 江南烟雨 36 文章
  4. - Nightmare 33 文章
  5. doublechina 31 文章
  6. HJ社区-肖峰 29 文章
  7. 伪摄影 22 文章
  8. Alan 14 文章