devpurpose
devpurpose

Reputation: 1

handling multiple http responses and returning them at once in single method

I have controller and service class which have these methods

service class

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
}

I called methodA from controller class which expect Response.

So my question is , Can I return multiple responses all together rather returning one by one after execute three if blocks ?

Upvotes: 0

Views: 892

Answers (1)

Slawomir Jaranowski
Slawomir Jaranowski

Reputation: 8497

In java - from one method you can return one value. So simply you can't handle multiple response from one method.

Instead of it you can return list/map or custom object of response from method.

So code can look like:

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;
}

Upvotes: 1

Related Questions