RESTful Web服务针对单个调用的两个不同响应

时间:2011-12-07 09:16:48

标签: web-services cxf jax-rs

如何通过基于CXF的RESTFul Web服务为单个呼叫提供2个或多个响应。

例如:对于这个http://localhost:8080/report/annual,我希望得到2个JSON的回复。第一个将提供有关报告详细信息和信息的信息。其他一些信息。第二个响应将给我实际报告JSON。如果这两个是异步的,那将是非常好的。

2 个答案:

答案 0 :(得分:2)

我在@flesk,这真的不是一种REST方法,这更像是一种异步消息传递方法。

第一次调用应该在启动“actualReport”处理后返回“someinfo”(在单独的线程/进程中,因为“actualReport”很耗时)。然后再次调用“actualReport”并确保该调用的超时值设置得足够高,以使报告处理完成。

您可以在第二次通话时获得幻想和循环,返回404直到报告完成。

有很多方法可以获得你想要的东西,而不是一个RESTful调用。

答案 1 :(得分:1)

你做不到。无论如何,当你可以返回类似

之类的内容时,为什么还要这么做呢?
{"someInfo": {...}, "actualReport": {...}}