簡體   English   中英

Spring RestController:返回 JSON 資源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM