67,512
社区成员
发帖
与我相关
我的任务
分享
@Controller
public class TestController {
@RequestMapping(value = "invocationMethod", method = RequestMethod.POST)
public ApiResponse getContracts(@PathVariable Integer id) {
ResultModel model = new ResultModel();
TestObject object = new TestObject();
object.setFild1("fild1");
object.setFild2("fild2");
model.setId("1");
model.setName("testName");
model.setObject(object);
return ApiResponse.success(model);
}
}
public class ApiResponse {
// return code 200:OK
private Integer statusCode;
// whole message
private String message;
// The component of data
private Object responseData;
private ApiResponse(ResultStatus status) {
this.statusCode = status.code();
this.message = status.reason();
}
public static ApiResponse success(Object responseData) {
ApiResponse response = new ApiResponse(ResultStatus.SUCCESS);
return response.setResponseData(responseData);
}
}
public class ResultModel {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public TestObject getObject() {
return object;
}
public void setObject(TestObject object) {
this.object = object;
}
private String name;
private TestObject object;
}
public class TestObject {
private String fild1;
private String fild2;
public String getFild1() {
return fild1;
}
public void setFild1(String fild1) {
this.fild1 = fild1;
}
public String getFild2() {
return fild2;
}
public void setFild2(String fild2) {
this.fild2 = fild2;
}
}
public class TestService {
@Autowired
private RestTemplate restTemplate;
public ApiResponse callAapi() {
ApiResponse response =
restTemplate.postForObject("http://localhost:9000/invocationMethod", "",
ApiResponse.class);
return response;
}
}
public ResultModel getResultModel(ApiResponse response) {
return (ResultModel) response.getResponseData();
}
ParameterizedTypeReference<List<MyModelClass>> typeRef = new ParameterizedTypeReference<List<MyModelClass>>() {
};
ResponseEntity<List<MyModelClass>> responseEntity = restTemplate.exchange(url, HttpMethod.POST, new HttpEntity<>(mvm), typeRef);
List<MyModelClass> myModelClasses = responseEntity.getBody();
多加个 ParameterizedTypeReference 指定类型