如何使用 Spring 控制器从 URL 读取文件?
How to read a file from URL using Spring Controller?
我们有一个 JSON 架构定义文件托管在服务器中,可通过 URL 访问。我的 Spring 控制器需要根据此模式验证传入的 JSON 数据(来自 Ajax 调用)。
鉴于架构定义文件的 URL(如.. http://myservices.json.apiOneSchema.json),我如何从我的 Spring 控制器 ?
Spring 提供 Resource
class 使用它可以完成
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。以上只是您如何阅读的示例。
我们有一个 JSON 架构定义文件托管在服务器中,可通过 URL 访问。我的 Spring 控制器需要根据此模式验证传入的 JSON 数据(来自 Ajax 调用)。
鉴于架构定义文件的 URL(如.. http://myservices.json.apiOneSchema.json),我如何从我的 Spring 控制器 ?
Spring 提供 Resource
class 使用它可以完成
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。以上只是您如何阅读的示例。