我正在使用java spring boot我可以在终端上打印json结果,但是我想在网络上显示,所以我如何更改此代码以在网络上显示

package com.tutorial.springboot;

import com.google.gson.Gson;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.SimpleDriverDataSource;
import lombok.var;
import java.io.FileInputStream;
import java.io.IOException;

import java.util.List;
import java.util.Map;
import java.util.Properties;


import java.sql.Driver;



public class Application {
    public static void main(String[] args) throws IOException, ClassNotFoundException{

        var prop = new Properties();
        prop.load(new FileInputStream("src/main/resources/Application.properties"));
        var ds = new SimpleDriverDataSource();

        ds.setDriverClass(((Class<Driver>) Class.forName(prop.getProperty("jdbc.driver"))));
        ds.setUrl(prop.getProperty("jdbc.url"));
        ds.setUsername(prop.getProperty("jdbc.username"));
        ds.setPassword(prop.getProperty("jdbc.password"));

        var sql = "SELECT * FROM ked_evaluation_data";

        var jtm = new JdbcTemplate(ds);
        List<Map<String, Object>> rows = (List<Map<String, Object>>) jtm.queryForList(sql);

        Gson gson = new Gson();
        String jcart=gson.toJson(rows);
        System.out.println(jcart);
        //rows.forEach(System.out::println);
    }
}


总之,我想知道如何更改代码以在Web上显示结果
如果有人知道,请教我!谢谢!

最佳答案

您需要在此处使用Spring Boot Rest Controller,如下所示

@RestController
public class HelloController {

    @RequestMapping("/json")
    public String index() {
         var prop = new Properties();
        prop.load(new FileInputStream("src/main/resources/Application.properties"));
        var ds = new SimpleDriverDataSource();

        ds.setDriverClass(((Class<Driver>) Class.forName(prop.getProperty("jdbc.driver"))));
        ds.setUrl(prop.getProperty("jdbc.url"));
        ds.setUsername(prop.getProperty("jdbc.username"));
        ds.setPassword(prop.getProperty("jdbc.password"));

        var sql = "SELECT * FROM ked_evaluation_data";

        var jtm = new JdbcTemplate(ds);
        List<Map<String, Object>> rows = (List<Map<String, Object>>) jtm.queryForList(sql);

        Gson gson = new Gson();
        String jcart=gson.toJson(rows);
       return jcart;
    }

}


应用程序

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}


使用http://localhost:8080/json这样的网址从网络上调用

(替换主机和端口,也要使用rest控制器,如果尚不存在,则可能需要添加依赖项)

希望这可以帮助

关于java - 如何在网络上显示json,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59557158/

10-11 10:38