我有REST方法接收List<String> itemId
在这个方法中,我为itemId
列表中的每个ID调用SOAP方法。
我需要获取例如10个ID向另一个服务发出10个请求并合并数据并在我的服务中返回这些数据。
我的方法收到[1,2,3,4]
List<Response> res1 = getItemsFromSOAPService(1)
List<Response> res2 = getItemsFromSOAPService(2)
List<Response> res3 = getItemsFromSOAPService(3)
List<Response> res4 = getItemsFromSOAPService(4)
我需要返回res1.getItemsList() + res2.getItemsList() + res3.getItemsList() + res4.getItemsList()
但是getItemsFromSOAPService可以返回Error。响应:
@Data
public class Response {
private String status;
private String message;
private List<Item> itemsList;
}
如果我得到res2
错误,我该如何组合数据?
答案 0 :(得分:0)
修改getItemsFromSOAPService()以在检测到错误时抛出异常。然后使用try / catch。
try {
List<Response> res1 = getItemsFromSOAPService(1);
List<Response> res2 = getItemsFromSOAPService(2);
List<Response> res3 = getItemsFromSOAPService(3);
List<Response> res4 = getItemsFromSOAPService(4);
// do something with the results
} catch ( SoapErrorException theException } {
// do something with the error
}