Class RecordResource
java.lang.Object
io.goobi.viewer.api.rest.v2.records.RecordResource
- Author:
- florian
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionde.intranda.api.iiif.search.AutoSuggestResultautoCompleteInManifest(String pi, String query, String motivation, String date, String user, Integer page) autoCompleteInManifest.de.intranda.api.annotation.IAnnotationCollectionde.intranda.api.annotation.wa.collection.AnnotationPagede.intranda.api.annotation.IAnnotationCollectionde.intranda.api.annotation.IAnnotationCollectionde.intranda.api.iiif.presentation.IPresentationModelElementde.intranda.api.iiif.search.SearchResultsearchInManifest(String pi, String query, String motivation, String date, String user, Integer page) Endpoint for IIIF Search API service in a manifest.
-
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:
PresentationExceptionIndexUnreachableExceptionURISyntaxExceptionViewerConfigurationExceptionDAOExceptionde.unigoettingen.sub.commons.util.datasource.media.PageSource.IllegalPathSyntaxExceptionde.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:
DAOExceptionde.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:
DAOExceptionde.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 searchquery- 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 wordmotivation- 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 answeruser- not supported. If this parameter is given, it will be included in the 'ignored' property of the 'within' property of the answerpage- the page number for paged result sets. if this is empty, page=1 is assumed- Returns:
- a
SearchResultcontaining 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- aStringobject.query- aStringobject.motivation- aStringobject.date- aStringobject.user- aStringobject.page- aIntegerobject.- Returns:
- a
AutoSuggestResultobject. - Throws:
IndexUnreachableException- if any.PresentationException- if any.
-