Grails:批处理客户端请求 - 从另一个控制器调用一个控制器

时间:2015-03-30 02:32:21

标签: grails

我们有一个大型Grails应用程序,我们希望将一些客户端GET请求批量处理为单个请求。这很简单,我们可以轻松地发出这样的JSON请求:

[{
    "id": "req1",
    "url": "whatever",
    "params": { "id": 1 }
}, {
    "id": "req2",
    "url": "another",
    "params": { "name": "Bob" }
}]

然后将其发送给Grails控制器,让我们说BatchController.processBatch。理想情况下,BatchController会:

  1. 确定URL映射到哪个控制器和操作(通过URLMappings以某种方式)
  2. 调用该方法,将方法响应添加到单个大型响应对象。
  3. 最后,渲染单个响应对象。
  4. 所以响应可能看起来像这样:

    {
        "success": true,
        "req1": {
            "data": ...
            "success": true
        },
        "req2": {
            "data": ...
            "success": true
        }
    }
    

    所以,首先,我不确定如何处理#1(确定控制器和动作/方法)。其次,我关注控制器生命周期,因为我现在自己调用控制器而不是让Grails处理它。

    任何建议都会有所帮助。以前有人做过这样的事吗?

0 个答案:

没有答案