【发布时间】:2014-09-29 03:08:45
【问题描述】:
我需要将多个 http 请求批处理到一个 http 帖子中,如下所示:
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate,sdch
Connection:keep-alive
Content-Length:604
Content-Type:multipart/mixed; boundary=1408785817122
Host:localhost:8080
Origin:null
--1408785817122
Content-Type: application/http; msgtype=request
GET /api/products HTTP/1.1
Host: localhost:8080
Accept: application/json, text/plain, */*
--1408785817122
Content-Type: application/http; msgtype=request
POST /api/users/2 HTTP/1.1
Host: localhost:8080
Accept: application/json, text/plain, */*
此处为第 2 队的一些数据。
--1408785817122
Content-Type: application/http; msgtype=request
PUT /api/products HTTP/1.1
Host: localhost:8080
Accept: application/json, text/plain, */*
Content-Type: application/json;charset=utf-8
"{\"Name\":\"Product X\",\"StockQuantity\":300}"
--1408785817122--
我有来自不同团队的 jars 服务器端。每个团队都包含有自己的控制器的罐子。团队 1 需要响应第 1 部分,团队 2 需要响应第 2 部分,依此类推。我需要返回单个多部分响应,其中每个边界包含来自每个指定控制器的响应,其中包含 200 或它认为正确的任何其他状态代码和数据。
- 因此分散在不同 jar 中的控制器需要被进程扫描和加载
- 随着多部分请求的到来,需要调用正确的控制器
- 需要返回单个多部分响应,其中包含来自所有控制器的成功或失败响应。
这对任何春季项目都可行吗?最好是spring mvc。
请指出正确的方向
【问题讨论】:
-
我很好奇 - 你如何生成这样的请求。我可以想象以这种方式将多个请求主体(比如文件内容)捆绑在一起,但这与我之前所做的不同——将实际的 http 请求批处理在一起。 AFAIK,我不认为 Spring MVC 本身提供这种支持,但我可以想象添加一个自定义编排控制器,它可以接收这个请求并依次调度到不同的控制器(或服务)并将其聚合回来。跨度>
-
请求是通过js生成的。某些 url 是为特定工作流注册的。所以js知道在提交之前会命中3个url所以拦截合并成1个。