使用分页和针对数据库查询的多个过滤器构建GET Rest API

时间:2018-09-19 07:34:13

标签: java rest jersey dropwizard

我正在构建一个GET服务,以从数据库中获取数据并显示在UI上。可以使用多个filter子句获取数据,我也需要分页。如何在Jersy DropWizard Framework中做到这一点?

我正在考虑这样做:

路径:/ data /?username = val1entity&= val2&limit = 10&offset = 0

@Path("/audit")
@Produces(value = MediaType.APPLICATION_JSON)
@GET
public Response<List<AuditEvent>> getAuditEvents(@Context UriInfo uriInfo) {
    logger.info("get Audit Events");
    try {
        MultivaluedMap<String,String> queryParams = uriInfo.getQueryParameters();
        return new Response<>(
                Response.Status.OK, "List of Audit Eents",
                auditService.getAuditEvents(queryParams));
    } catch (Exception e) {

    }
}

public List<AuditEventDB.AuditEvent> getAuditEvents(MultivaluedMap<String,String> queryParams) {
    List<AuditEventDB.AuditEvent> auditEvents = new ArrayList<>();
    try {
        auditEvents = auditEventDB.getAllAuditEvents();
    }
    catch(Exception e)
    {
        logger.info("Error in Getting Audit Events" ,e);
    }
    return auditEvents;
}

这是正确的方法还是有更好的方法呢?我刚接触框架。

0 个答案:

没有答案