如何使用Spring Controller从URL读取文件?

时间:2015-05-25 05:28:51

标签: java json spring spring-boot spring-cloud

我们有一个托管在服务器中的JSON Schema定义文件,可通过URL访问。我的Spring Controller需要针对此模式验证传入的JSON数据(来自Ajax调用)。

给定架构定义文件的URL(如.. http://myservices.json.apiOneSchema.json), 如何从Spring Controller中读取此架构定义?

1 个答案:

答案 0 :(得分:3)

Spring提供Resource类使用它可以完成

 public static void main( String[] args )
    {
        ApplicationContext appContext = 
           new ClassPathXmlApplicationContext(new String[] {"If-you-have-any.xml"});

        Resource resource = 
           appContext.getResource("http://www.common/testing.txt");

    try{
          InputStream is = resource.getInputStream();
          BufferedReader br = new BufferedReader(new InputStreamReader(is));

          String line;
          while ((line = br.readLine()) != null) {
             System.out.println(line);
          } 
          br.close();

        }catch(IOException e){
            e.printStackTrace();
        }

    }

以上代码段完全符合您的要求。一旦您阅读资源,您可以使用任何绑定直接将它们转换为您的POJO。以上只是一个如何阅读它的例子。