我正在使用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/