如何使用Spring在localhost上存储JSON?我想通过RestController从项目的资源目录中提供JSONFile。
到目前为止,我有:
@RestController
public class JSONRestController {
@GetMapping("/list")
public String listUsers(){
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("fileName").getFile());
//or with an external library: org.springframework.util.StreamUtils
String msg = StreamUtils.copyToString( new ClassPathResource("list.json").getInputStream(), Charset.defaultCharset() );
return file.toString() //not an existing method
}
}
目的是拥有一个Spring应用程序,该应用程序可以通过REST端点从资源中提供JSON文件。我想从资源目录中获取文件,然后从ResController端点将其作为JSON返回。然后,我希望能够使用源自另一个也在本地主机上的应用程序的GET请求访问它。
答案 0 :(得分:0)
定义一个RestController,它从资源目录中获取JSON并通过REST端点返回。
这里资源中的JSON称为items.json
,端点将为localhost:8080/db
(假设您没有更改server.port属性)。
@RestController
public class JSONController {
private JSONObject jsonObject;
@GetMapping("/db")
@CrossOrigin
public JSONObject getJSON(){
try {
Resource resource = new ClassPathResource("/items.json");
InputStream resourceInputStream = resource.getInputStream();
JSONParser jsonParser = new JSONParser();
jsonObject = (JSONObject)jsonParser.parse(
new InputStreamReader(resourceInputStream, "UTF-8"));
} catch (IOException | ParseException e) {
e.printStackTrace();
}
return jsonObject;
}
}