Class RecordResource

java.lang.Object
io.goobi.viewer.api.rest.v2.records.RecordResource

@Path("/records/{pi}") public class RecordResource extends Object
Author:
florian
  • Constructor Details

    • RecordResource

      public RecordResource(@Context jakarta.servlet.http.HttpServletRequest request, @PathParam("pi") String pi)
  • Method Details

    • getManifest

      @GET @Path("/manifest") @Produces("application/json") public de.intranda.api.iiif.presentation.IPresentationModelElement getManifest() throws PresentationException, IndexUnreachableException, URISyntaxException, ViewerConfigurationException, DAOException, de.unigoettingen.sub.commons.util.datasource.media.PageSource.IllegalPathSyntaxException, de.unigoettingen.sub.commons.contentlib.exceptions.ContentLibException
      Throws:
      PresentationException
      IndexUnreachableException
      URISyntaxException
      ViewerConfigurationException
      DAOException
      de.unigoettingen.sub.commons.util.datasource.media.PageSource.IllegalPathSyntaxException
      de.unigoettingen.sub.commons.contentlib.exceptions.ContentLibException
    • getAnnotationsForRecord

      @GET @Path("/annotations") @Produces("application/json") public de.intranda.api.annotation.IAnnotationCollection getAnnotationsForRecord() throws DAOException, de.unigoettingen.sub.commons.contentlib.exceptions.IllegalRequestException
      Throws:
      DAOException
      de.unigoettingen.sub.commons.contentlib.exceptions.IllegalRequestException
    • getCommentsForRecord

      @GET @Path("/comments") @Produces("application/json") public de.intranda.api.annotation.IAnnotationCollection getCommentsForRecord() throws DAOException
      Throws:
      DAOException
    • getAnnotationsPageForRecord

      @GET @Path("/annotations/1") @Produces("application/json") public de.intranda.api.annotation.wa.collection.AnnotationPage getAnnotationsPageForRecord() throws DAOException, de.unigoettingen.sub.commons.contentlib.exceptions.IllegalRequestException
      Throws:
      DAOException
      de.unigoettingen.sub.commons.contentlib.exceptions.IllegalRequestException
    • getCommentsForRecordPage

      @GET @Path("/comments/1") @Produces("application/json") public de.intranda.api.annotation.IAnnotationCollection getCommentsForRecordPage() throws DAOException
      Throws:
      DAOException
    • searchInManifest

      @GET @Path("/manifest/search") @Produces("application/json") public de.intranda.api.iiif.search.SearchResult searchInManifest(@PathParam("pi") String pi, @QueryParam("q") String query, @QueryParam("motivation") String motivation, @QueryParam("date") String date, @QueryParam("user") String user, @QueryParam("page") Integer page) throws IndexUnreachableException, PresentationException
      Endpoint for IIIF Search API service in a manifest. Depending on the given motivation parameters, fulltext (motivation=painting), user comments (motivation=commenting) and general (crowdsourcing-) annotations (motivation=describing) may be searched.
      Parameters:
      pi - The pi of the manifest to search
      query - The search query; a list of space separated terms. The search is for all complete words which match any of the query terms. Terms may contain the wildcard charachter '*' to represent an arbitrary number of characters within the word
      motivation - a space separated list of motivations of annotations to search for. Search for the following motivations is implemented:
      • painting: fulltext resources
      • non-painting: all supported resources except fulltext
      • commenting: user comments
      • describing: Crowdsourced or other general annotations
      date - not supported. If this parameter is given, it will be included in the 'ignored' property of the 'within' property of the answer
      user - not supported. If this parameter is given, it will be included in the 'ignored' property of the 'within' property of the answer
      page - the page number for paged result sets. if this is empty, page=1 is assumed
      Returns:
      a SearchResult containing all annotations matching the query in the 'resources' property
      Throws:
      IndexUnreachableException - if any.
      PresentationException - if any.
    • autoCompleteInManifest

      @GET @Path("/manifest/autocomplete") @Produces("application/json") public de.intranda.api.iiif.search.AutoSuggestResult autoCompleteInManifest(@PathParam("pi") String pi, @QueryParam("q") String query, @QueryParam("motivation") String motivation, @QueryParam("date") String date, @QueryParam("user") String user, @QueryParam("page") Integer page) throws IndexUnreachableException, PresentationException

      autoCompleteInManifest.

      Parameters:
      pi - a String object.
      query - a String object.
      motivation - a String object.
      date - a String object.
      user - a String object.
      page - a Integer object.
      Returns:
      a AutoSuggestResult object.
      Throws:
      IndexUnreachableException - if any.
      PresentationException - if any.