Spring MVC を使用して RESTful Web サービスを構築しようとしています。
コントローラーは特定の Java 型を返す必要がありますが、応答本文は汎用エンベロープである必要があります。これはどのように行うことができますか?
コードの次のセクションは、私がこれまでに持っているものです。
コントローラーの方法:
@Controller
@RequestMapping(value = "/mycontroller")
public class MyController {
public ServiceDetails getServiceDetails() {
return new ServiceDetails("MyService");
}
}
応答エンベロープ:
public class Response<T> {
private String message;
private T responseBody;
}
ServiceDetails
コード:
public class ServiceDetails {
private String serviceName;
public ServiceDetails(String serviceName) {
this.serviceName = serviceName;
}
}
クライアントへの意図した最終的な応答は次のように表示されます。
{
"message" : "Operation OK"
"responseBody" : {
"serviceName" : "MyService"
}
}