我正在设计一个REST批量请求,它将采用以下数组:
{
"method": <POST | GET | PATCH>,
"path": <Relative URL of API to execute>
}
所有这些Bulk元素都将在同一台服务器上执行API。 有没有办法可以调用调度程序servlet来内部执行,而不是调用API支持的方法?我还想读取批量请求中的每个请求操作的响应并累积将返回的响应。
目前我正在调用方法,如果elses正在执行请求映射工作方式。
如果我遗漏了表达问题定义的任何细节,请告诉我。请求重定向/转发不适用于我的情况,因为我需要控制执行批量请求中的每个操作并收集和累积响应。
我正在使用Spring Boot MVC
阿南德
答案 0 :(得分:0)
您可以考虑实施&#34; dummy&#34; HttpServletRequest和HttpServletResponse。 在批量请求控制器中自动装配DispatcherServlet。
在处理批量请求的控制器方法中,在循环执行单个请求时,实例化您自己的HttpServletRequest和HttpServletResponse实现并调用
dispatcherServlet.service(request,response);
您可以通过response.getOutputStream()或response.getWriter()通过response.getStatus()和内容读取响应状态。请参阅java-printwriter-vs-servletoutputstream/。
通过这样做,您不必手动手动调用控制器方法。
我是如何实施批量请求的。