![](/img/trans.png)
[英]How to return FileSystemResource or json with Spring RestController?
[英]Spring RestController: Return JSON resource
如何使用 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 文件。 我想從資源目錄中獲取文件並將其作為 JSON 從 ResController 端點返回。 然后我希望能夠使用來自另一個也在本地主機上的應用程序的 GET 請求來訪問它。
定義一個從資源目錄獲取 JSON 並通過 REST 端點返回的 RestController。 這里資源中的 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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.