0

我有一个大型 CSV 文件,需要对其进行解析才能向 REST API 发出发布请求。发布请求正文是一个 json 字符串。文件中的第一行有键,接下来的行是值,例如

名字,姓氏
约翰,多伊马克
,吐温

因此帖子正文将类似于 {"FirstName":"John", "LastName":"Doe"}

该文件将用于为开发人员创建测试数据。我将提供一个简单的页面,开发人员可以在其中输入帐号并点击提交。目标是解析此文件并向 REST API 服务发出 POST 请求。

我想避免每次请求进入时读取文件,而是在启动时缓存这些请求以避免每次读取/解析文件的麻烦,因此每次请求进入请求正文时只需要从中检索一个缓存。在启动时缓存这些 POST 请求是正确的方法吗?

此外,可能需要添加更多 CSV 文件以获取各种数据。什么是使这种可扩展性的方法?

CSV 文件的格式(键名)将相同,因此可以以相同的方式解析每个文件。

4

2 回答 2

0

它可以根据您的要求以 N 种方式实现,这里是一个简单的例子。你可以保留一个类

class Contact{
  private String firstName;
  private String lastName;
}

在你的另一个持有这个价值的班级中

class RestEnterpriseService{

  List<Contact> contacts;

  @PostConstruct
  init(){
    contacts = readFromJSON("JSON URL");
  }
}
于 2013-03-04T01:15:21.177 回答
0

这可以通过多种方式完成。

如果您使用的是 Spring Framework 或 Java EE 容器,则可以使用上述PostConstruct@AvinashSingh 所述的样式解决方案。

如果您在某个 Servlet 容器中,您可以使用 Servlet 的 Listener 或其他方式来完成启动任务。

您也可以自己实现它,有很多方法可以做到这一点。就像使用一个守卫变量来检测你的contacts列表是否被缓存;或者使用像单例设计模式这样的技能。

于 2013-03-04T02:26:25.453 回答