【发布时间】:2020-03-16 06:03:44
【问题描述】:
有人问我是否只能通过 java.io 调用 RESTful API。没有 java.net URL 和第 3 方库。我确实尝试通过 java.io 下的不同 reader/InputStream 打开 HTTP,似乎得到 FileNotFoundExceptions 等。
有什么想法吗?
【问题讨论】:
-
您至少需要
java.net.Socket才能访问远程主机。这是不可能的。
有人问我是否只能通过 java.io 调用 RESTful API。没有 java.net URL 和第 3 方库。我确实尝试通过 java.io 下的不同 reader/InputStream 打开 HTTP,似乎得到 FileNotFoundExceptions 等。
有什么想法吗?
【问题讨论】:
java.net.Socket 才能访问远程主机。这是不可能的。
根据 Java 文档:
打包 java.io
通过数据流提供系统输入和输出, 序列化和文件系统。
为了使用这种方法进行 REST 调用,您可以将 REST 方法调用写入 JSON 格式并将负载写入文件,然后让另一个应用程序读取该文件,然后执行实际的 REST API 调用。
由于这不是直接的 REST 调用,因此您的问题的答案是不可能不使用 Java 平台的任何网络模块来实现您的要求。
虽然我想知道为什么您只能使用 java.io 进行 REST API 调用?
【讨论】:
我认为它可以通过操作系统命令间接进行 RESTful 调用,例如编写 curl 脚本并使用 Process 执行它,它将输出重定向到一个文件,然后读取输出文件以解析输出 JSON
【讨论】: