Trying to build a RESTful web service using Spring MVC.
The controller should return specific Java types, but the response body must be a generic envelope. How can this be done?
The following sections of code are what I have so far:
Controller method:
@Controller @RequestMapping(value = "/mycontroller") public class MyController { public ServiceDetails getServiceDetails() { return new ServiceDetails("MyService"); } }
Response envelope:
public class Response<T> { private String message; private T responseBody; }
ServiceDetails
code:
public class ServiceDetails { private String serviceName; public ServiceDetails(String serviceName) { this.serviceName = serviceName; } }
Intended final response to clients should appear as:
{"message" : "Operation OK""responseBody" : {"serviceName" : "MyService" } }