休息Web服务api的预处理

时间:2016-10-28 15:23:09

标签: java web-services rest api jsp

我正在使用Jersey在Java中构建一个简单的Web服务来添加和删除数据库中的用户。

对此进行预处理的最佳方法是,例如如果我想与DB建立连接?

@Path("/user/service")
public class UserService 
{
    private Connection connect = null;
    final private String host = "localhost";
    final private String user = "qwerty";
    final private String passwd = "mysql";
    final private String database = "user_db";

    public void connectToDB() throws Exception 
    {
        Class.forName("com.mysql.jdbc.Driver");
        connect = DriverManager.getConnection("jdbc:mysql://" + host + "/"
                        + database + "?" + "user=" + user + "&password=" + passwd);
    }

    @PUT
    @Path("/create")
    public void createUser(){
        System.out.println("Inside Create User method");
    }

    @GET
    @Path("/get/{id}")
    public String getUser(@PathParam("id")String userid, @QueryParam("first")String first){
        System.out.println("GET: " + first);
    }
}

我想在开始时调用connectToDB()一次,而不是在每个请求中调用。

由于

1 个答案:

答案 0 :(得分:0)

您可以创建单例类并将connectToDB逻辑移动到该单例类中,并且在调用时,单例类将建立数据库连接,该连接可以在API的所有后续调用中使用。

您还可以在静态块内创建连接,但这不是一种干净的方式。

More on singleton