Grails:相同的URL映射到不同HTTP方法的不同操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Grails:相同的URL映射到不同HTTP方法的不同操作相关的知识,希望对你有一定的参考价值。

我正在使用Grails v3.2.9

在官方文档中,我发现了mapping to http methods的以下内容:

static mappings = {
   "/product/$id"(controller:"product", action: "update", method: "PUT")
}

但这还不够。我需要的是有一个映射,它映射到基于HTTP方法的不同操作(在同一个控制器中)。

任何的想法 ?

答案

添加URLMappings,如 -

"/product/api/v2/book" (controller: 'book') {
    action = [GET: 'show', POST: 'update']
}

此外,最好在控制器中添加方法约束 -

  static allowedMethods = [show: 'GET', update: 'POST']
另一答案

或者,如果您遵循REST控制器的方法命名约定...您可以逃脱:

"/product/$id" (resources:'product')

这里有一些很好的信息:http://mrhaki.blogspot.com/2013/11/grails-goodness-customize-resource.html

以上是关于Grails:相同的URL映射到不同HTTP方法的不同操作的主要内容,如果未能解决你的问题,请参考以下文章

Grails:在控制器中设置啥以达到 URL 映射中的错误处理?

如何将相同内容的多个 URL 引用映射到一个 SEO 友好 URL?

恢复 Grails url 映射

Grails + RESTful URL 映射 + 过滤器 + 路由

REST URL 映射不起作用(Grails 1.3.3、Tomcat6)

使用 grails spring security core 插件保护 URL 映射