@GET @Path("/entries") @Produces({ ExtraMediaType.TEXT_HTML, MediaType.APPLICATION_JSON, ExtraMediaType.TEXT_YAML, ExtraMediaType.TEXT_CSV, ExtraMediaType.TEXT_TSV, ExtraMediaType.TEXT_TTL }) public EntryListView entries( @QueryParam("start") Optional<Integer> optionalStart, @QueryParam("limit") Optional<Integer> optionalLimit) { int totalEntries = entryDAO.getTotalEntries(); NewPagination newPagination = new NewPagination(optionalStart, optionalLimit, totalEntries); Collection<Entry> entries = entryDAO.getEntries(newPagination.start, newPagination.limit); setHeaders(newPagination); return viewFactory.getEntriesView(entries, newPagination); }
@GET @Path("/entry/{entry-number}") @Produces({ ExtraMediaType.TEXT_HTML, MediaType.APPLICATION_JSON, ExtraMediaType.TEXT_YAML, ExtraMediaType.TEXT_CSV, ExtraMediaType.TEXT_TSV, ExtraMediaType.TEXT_TTL }) public AttributionView findByEntryNumber(@PathParam("entry-number") int entryNumber) { Optional<Entry> entry = entryDAO.findByEntryNumber(entryNumber); return entry.map(viewFactory::getEntryView).orElseThrow(NotFoundException::new); }