Grails 2.5.6 REST API无需UrlMapping配置URI的方法注解实现咨询
结论
Grails 2.5.6 版本原生不支持Grails 4.0 里用到的@Get这类方法级URI映射注解,该类注解是Grails 3.0版本正式引入的RESTful API增强特性,2.x分支没有做相关的原生适配。
可行替代方案
方案1:引入第三方JAX-RS插件实现方法注解配置
你可以安装适配Grails 2.5.6版本的JAX-RS插件,直接使用JAX-RS标准注解实现方法级的URI配置,完全满足你的需求:
- 可通过
@Path注解直接配置kebab-case格式的URI - 可通过
@GET/@POST/@PUT/@DELETE注解指定请求方法
示例写法如下:
@Path("/system-orders") class SystemOrderController { @GET @Path("/search?limit=25&media=music&entity=album&term={term}") SearchResult search(String term) { // 业务逻辑 } }
注意要选择适配Grails 2.x的0.11.x版本的JAX-RS插件,高版本插件仅支持Grails 3+。
方案2:全局配置UrlMappings自动转换为kebab-case
如果你不想引入额外依赖,也可以直接修改UrlMappings.groovy配置,添加全局的驼峰转kebab-case的转换规则,无需每个接口单独配置,也无需加注解,所有接口路径自动符合格式要求。
内容的提问来源于stack exchange,提问作者Diego Rossi
相关产品推荐
相关产品推荐

