rest - Grails将多个操作映射到单个HTTP方法(动词)

标签 rest grails action url-mapping http-method

我想将多个 Action 映射到单个HTTP动词,像这样

"/product"(controller: "product"){
action : [POST: ["save", "clone"] ]

}

Grails 2.2.4中有什么方法可以实现这一目标吗?

最佳答案

是的,这样做很简单-但不能直接在UrlMappings中进行。实现您的示例将使请求/响应生命周期令人困惑,响应在何处以及如何构建?

根据您的情况,以下两种完成同一件事的可能方法:

  • 有一个主 Controller 方法(action),该方法处理请求和响应,并仅作为副作用调用其他操作。这是我通常看到的类似实现的方式,主要是因为很明显在哪里处理了请求和响应。
  • 有一个委派 Controller 方法(操作),该方法除了调用其他操作外什么也不做。其他 Action 共同负责处理请求和响应。这与您在示例中尝试执行的操作更加相似。
  • 关于rest - Grails将多个操作映射到单个HTTP方法(动词),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27818456/

    相关文章:

    javascript - 读取从 API REST 返回的 JSON 对象

    json - 改造管理无对象模型列表JSON

    grails - Grails 中类似 cron 调度的建议 : run method once every hour

    javascript - 无法使用组合 reducer REACT 显示数据

    objective-c - 你必须在 UIButton 上调用 removeTarget 吗?

    c# - 使用 ASP .NET 在 Controller 的操作中从 URL 获取 ID?

    c# - WCF 自定义 JSONP 绑定(bind)和 httpsTransport

    web-services - 是否可以将 WSDL 与 REST 网络服务一起使用?

    grails - grails:在环境级别设置日志阈值?

    javascript - withFormat 闭包不发送基于 ACCEPT header 的响应