controller层怎么写,使用RestTemplate调用接口怎么正常返回类数据? url为http://10.0.162.251:8080/lis/optionalPlanRestService/UserSurveys, 除了url入参还有{ "insuredno":"100224543188" } 返回json 为 { "ret": 0, "msg": null, "data": [ { "prtno": "162009048", "grpno": "", "grpcontno": "66200094300" } ], "success": true } 怎么正常返回类数据?
时间: 2023-05-11 08:05:42 浏览: 106
在controller层中,可以使用RestTemplate发送HTTP请求,然后将返回的JSON数据转换为Java对象。具体实现可以参考以下代码:
```
@RestController
public class MyController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/getData")
public MyResponse getData() {
String url = "http://10.0.162.251:8080/lis/optionalPlanRestService/UserSurveys";
Map<String, String> params = new HashMap<>();
params.put("insuredno", "100224543188");
ResponseEntity<MyResponse> responseEntity = restTemplate.getForEntity(url, MyResponse.class, params);
return responseEntity.getBody();
}
private static class MyResponse {
private int ret;
private String msg;
private List<Data> data;
private boolean success;
// getters and setters
}
private static class Data {
private String prtno;
private String grpno;
private String grpcontno;
// getters and setters
}
}
```
其中,MyResponse和Data类分别对应返回的JSON数据中的"data"和"data"数组中的元素。使用RestTemplate发送GET请求时,可以通过getForEntity方法指定URL、返回类型和URL参数。最后,通过responseEntity.getBody()方法获取返回的Java对象。
阅读全文