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.AutoSuggestResult
autoCompleteInManifest
(String pi, String query, String motivation, String date, String user, Integer page) autoCompleteInManifest.de.intranda.api.annotation.IAnnotationCollection
de.intranda.api.annotation.wa.collection.AnnotationPage
de.intranda.api.annotation.IAnnotationCollection
de.intranda.api.annotation.IAnnotationCollection
de.intranda.api.iiif.presentation.IPresentationModelElement
de.intranda.api.iiif.search.SearchResult
searchInManifest
(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:
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 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
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
- aString
object.query
- aString
object.motivation
- aString
object.date
- aString
object.user
- aString
object.page
- aInteger
object.- Returns:
- a
AutoSuggestResult
object. - Throws:
IndexUnreachableException
- if any.PresentationException
- if any.
-