Cố gắng xây dựng một dịch vụ web RESTful bằng Spring MVC.Tôi làm cách nào để thiết kế một Dịch vụ web phản hồi/RESTful chung bằng cách sử dụng Spring MVC?
Bộ điều khiển phải trả về các loại Java cụ thể, nhưng phần thân phản hồi phải là một phong bì chung. Điều này có thể giải quyết như thế nào?
Những phần sau của mã là những gì tôi có cho đến nay: Phương pháp
Bộ điều khiển:
@Controller
@RequestMapping(value = "/mycontroller")
public class MyController {
public ServiceDetails getServiceDetails() {
return new ServiceDetails("MyService");
}
}
đáp ứng phong bì:
public class Response<T> {
private String message;
private T responseBody;
}
ServiceDetails
mã:
public class ServiceDetails {
private String serviceName;
public ServiceDetails(String serviceName) {
this.serviceName = serviceName;
}
}
Dành trả lời cuối cùng cho các khách hàng sẽ xuất hiện như:
{
"message" : "Operation OK"
"responseBody" : {
"serviceName" : "MyService"
}
}
Nếu bạn đang sử dụng Jackson hoặc FlexJson, tại sao bạn không thể trả lại đối tượng phản hồi trong phương pháp của mình? Trình serializer JSON có thể tuần tự hóa bất kỳ đối tượng phức tạp nào. – CodeChimp
Tôi đang sử dụng jackson. nhưng tôi vẫn muốn bộ điều khiển trả về các loại java yêu cầu cụ thể. tôi nghĩ rằng nó sạch hơn và trực quan hơn. –
cộng với có một số mã tấm nồi hơi vào việc xây dựng đối tượng phản hồi, vì vậy tôi muốn làm điều đó chỉ từ một nơi –