首页 > 解决方案 > Java EE Webservice - 如何在没有数据库的情况下保存 json

问题描述

我在 Java EE 中有一个带有简单 get 和 post 方法的 REST 服务。post 方法使用 Gson 和 FileWriter 将收到的 json 保存在一个文件中。在我的本地系统上,该文件保存在 C:\Users...\Documents\Glassfish Domains\Domain\config 中。Get 方法读取此文件并给出 json。

当我使用 Postman 在本地系统上进行测试时,一切正常,但是当我在安装了 Glassfish 的 Ubuntu Server vm 上部署项目时,我能够连接,但我得到一个 http 500 内部服务器错误代码。当 FileReader/FileWriter 尝试执行操作时,我设法发现错误被抛出。我想它被限制在一个真正的 glassfish 实例上访问这个目录。

所以我的问题是,如果有一个文件路径允许我写入文件并在之后读取它。该文件必须保留在那里(至少在应用程序运行期间)并且对于每个请求都必须相同(调度程序每 24 小时将一些内容写入文件)。如果有人有一个简单的替代方法,如何在没有额外数据库实例的情况下将 json 保存在 Java EE 中,那也会很有帮助:)

标签: web-servicesjakarta-eeglassfishpostman

解决方案


如果您有权访问服务器,则可以使用 glassfish 服务器用户创建目录。在应用程序的某个属性文件中配置此路径,然后使用此属性来读取和写入文件。这样你就可以在不同的环境中配置不同的目录路径。


推荐阅读