我在我的项目中使用了swagger来生成代码以对某些objcets(命名项目)执行http请求(GET,POST和DELETE)。
这里的问题是这些对象是在内存中创建的。我的意思是,当我重新启动我的Web服务时,先前的更改将被删除。所以,我想使用(本地)数据库来保存这些更改。我对H2数据库非常感兴趣。我还想使用JDBC连接我的本地数据库。这里的主要问题是我不了解如何首先使用jdbc。其次,swagger生成的代码对我来说太复杂了。我不知道应该在哪里做jdbc代码...
我在这里复制了用于两个请求的代码(例如POST和DELETE)。你能帮我跟当地的h2数据库建立联系吗?我应该在这堂课中做这个代码吗?
这是swagger代码的一部分:
@POST
@Consumes({"application/x-www-form-urlencoded"})
@Produces({"application/json"})
@io.swagger.annotations.ApiOperation(value = "", notes = "Creates a project and returns the whole object", response = Project.class, tags = {})
@io.swagger.annotations.ApiResponses(value = {
@io.swagger.annotations.ApiResponse(code = 200, message = "Created project", response = Project.class),
@io.swagger.annotations.ApiResponse(code = 500, message = "Internal API error / Server error", response = Project.class)})
public Response createProject(
@ApiParam(value = "Document name", required = true) @FormParam("name") String name,
@ApiParam(value = "Document title") @FormParam("trigram") String trigram, @Context SecurityContext securityContext)
throws NotFoundException {
return delegate.createProject(name, trigram, securityContext);
}
//url is localhost:8080/api/v1/projects/{id}
@DELETE
@Path("/{id}")
@io.swagger.annotations.ApiOperation(value = "", notes = "Deletes all projects", response = void.class, tags={ })
@io.swagger.annotations.ApiResponses(value = {
@io.swagger.annotations.ApiResponse(code = 200, message = "Project is deleted.", response = void.class),
@io.swagger.annotations.ApiResponse(code = 500, message = "Internal API error / Server error", response = void.class) })
public Response deleteProject(
@ApiParam(value = "Document ID",required=true) @PathParam("id") String id,@Context SecurityContext securityContext)
throws NotFoundException {
return delegate.deleteProject(id,securityContext); }
答案 0 :(得分:0)
您应该创建一个单独的dataobjectaccess(DAO)类来建立与数据库的连接。您可以在问题中包含的类中调用其方法。
实际上,基本方法是将swagger接口和实现类分开,以便更容易阅读。这样,您的RESTful API将真正成为一个包含所有注释的接口。实现类可以包含代码,代码又调用DAO类来连接数据库。
可以使用各种教程来学习特定于h2的jdbc:
http://www.h2database.com/html/tutorial.html http://www.ayukucode.org/2012/03/16/create-table-insert-query-with-jdbc-and-h2-database/