在Java Jersey Web Service中读取和编辑配置属性

时间:2017-11-23 19:13:42

标签: java web-services jersey

我有一个使用Maven-Jersey编写的简单Java Web服务。它有两个函数 - getallusers和getuser

@Path("/UserService")
public class UserService
{
    UserDao userDao = new UserDao(DevMode.DEV_MODE);
    private static final String SUCCESS_RESULT = "{\"result\":\"success\"}";
    private static final String FAILURE_RESULT = "{\"result\":\"failure\"}";

    @GET
    @Path("/users")
    @Produces(MediaType.APPLICATION_JSON)
    public List<User2> getUsers()
    {
       return userDao.getAllUsers();
    }

    @GET
    @Path("/users/{userid}")
    @Produces(MediaType.APPLICATION_JSON)
    public User2 getUser(@PathParam("userid") int userid)
    {
       return userDao.getUser(userid);
   }
}

UserDao正在从user.json文件中读取。现在我想在配置文件中设置DevMode.DEV_MODE。像deployment_mode="Dev"这样的东西我可以在部署期间或运行单元测试时更改它。我使用DevMode读取userdev.json或usertest.json等不同文件。

UserService入门时有没有办法读取此配置文件?或者,有一种方法可以在UserService启动后修改这些配置参数吗?

更新:我仍然不知道如何阅读或修改Web服务的配置属性。作为一种解决方法,在单元测试中我添加了@Before和@After。在@Before函数中,我手动将实际db文件user.json移动到temp并创建测试user.json文件。在@After函数中,我将移回临时文件以替换测试user.json。这绝对是解决这个问题的一种肮脏方式。

0 个答案:

没有答案