春季列表或映射的响应正文



我正在开发一个Web应用程序,该应用程序从服务器使用API REST并向前端显示数据。我不确定如何在春季进行呼叫以及如何管理响应。

我有一个映射到 POST 请求的类控制器,该请求是一个按钮的操作,用于显示服务器上的信息,该按钮给我一个 REST API 调用。这是我正在谈论的方法。我想要的很简单,就是在表格中显示数据,在这些情况下的类别中,我将传递给视图。但是我不能(不知道(如何将我得到的东西转换为列表或地图之类的东西......

    @PostMapping(value = "/showAreas")
public String getAllAreas(Model model) throws IOException {
    TokenRepositoryImpl token = new TokenRepositoryImpl();
    tokenId = token.getToken();
    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder().url("http://XXX.XX.XX.XX:8888/api/1.0/test/project/categories").get()
            .addHeader("Authorization", "Bearer " + tokenId.getAccess_token()).build();
    Response response = client.newCall(request).execute();
    System.out.println(response.body().string());
    //This is what I need: List<JSONObject> areas = new ArrayList<JSONObject>();
    return "areasView";
}

我在系统中得到的是这些: [{"cat_uid":"8650262225c0e95e609fa16018826000","cat_name":"X XXX","cat_total_processes":X},{"cat_uid":"2...]

List or Map添加到参数中传递的Model对象,然后您可以再次使用 Model 对象在前端访问它。 例如:

Request request = new Request.Builder().url("http://XXX.XX.XX.XX:8888/api/1.0/test/project/categories").get()
            .addHeader("Authorization", "Bearer " + tokenId.getAccess_token()).build();
Response response = client.newCall(request).execute();
model.setAttribute("response",response.body());

你可以在春天使用ResponseEntity

@PostMapping(value = "/showAreas")
public ResponseEntity getAllAreas(Model model) throws IOException {
    TokenRepositoryImpl token = new TokenRepositoryImpl();
    tokenId = token.getToken();
    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder().url("http://XXX.XX.XX.XX:8888/api/1.0/test/project/categories").get()
            .addHeader("Authorization", "Bearer " + tokenId.getAccess_token()).build();
    Response response = client.newCall(request).execute();
    return ResponseEntity.ok(response.body());
}

相关内容

最新更新