我有一个大型CSV文件,需要对其进行解析才能向REST API发出请求。邮件请求正文是一个json字符串。文件中的第一行有键,后面的行是值,例如
FirstName,LastName
约翰,母鹿
马克,吐温
所以帖子的主体就像{“FirstName”:“John”,“LastName”:“Doe”}
该文件将用于为开发人员创建测试数据。我将提供一个简单的页面,开发人员可以在其中输入帐号并点击提交。目标是解析此文件并向REST API服务发出POST请求。
我希望每次请求进入时都避免读取文件,而是在启动时缓存这些请求以避免每次读取/解析文件的麻烦,这样每次请求进入请求时只需要从缓存中检索。在启动时缓存这些POST请求是否正确的方式去了?
此外,可能需要添加更多CSV文件才能拥有各种数据。 什么是使这种可扩展的方法?
CSV文件的格式(密钥名称)将相同,因此可以以相同的方式解析每个文件。
答案 0 :(得分:0)
它可以根据您的要求以多种方式实现,这是一个简单的例子。你可以保持像
这样的课程class Contact{
private String firstName;
private String lastName;
}
并在你的另一个持有此值的类中
class RestEnterpriseService{
List<Contact> contacts;
@PostConstruct
init(){
contacts = readFromJSON("JSON URL");
}
}
答案 1 :(得分:0)
这可以通过多种方式完成。
如果您使用的是Spring Framework或Java EE容器,则可以使用@AvinashSingh所述的PostConstruct
样式解决方案。
如果您在某个Servlet容器中,可以使用Servlet的Listener或其他方式执行启动任务。
此外,您可以自己实施,有很多方法可以做到这一点。就像使用一个保护变量来检测你的contacts
列表是否被缓存一样;或者使用像Singleton Design Pattern这样的技能。