我有控制器和服务类,它们有这些方法
服务等级
public ResponseEntitiy methodA(Model model) {
if(model.contains("val1")) {
service(val1);
}
if(model.contains("val2")) {
service(val2);
}
if(model.contains("val3")) {
service(val3);
}
}
public ResponseEntity<ResponseModel> service(String val) {
// some logic to handle api calls
}
我从期望响应的控制器类调用了methodA。
所以我的问题是,我可以一起返回多个响应吗?而不是在执行三个if块后逐个返回?
在java中,从一个方法可以返回一个值。因此,简单地说,您无法处理来自一个方法的多个响应。
相反,您可以从方法返回列表/映射或自定义响应对象。
所以代码可以看起来像:
public List<ResponseEntitiy> methodA(Model model) {
List<ResponseEntitiy> result = new ArrayList();
if(model.contains("val1")) {
result.add(service(val1));
}
if(model.contains("val2")) {
result.add(service(val2));
}
if(model.contains("val3")) {
result.add(service(val3));
}
return result;
}