@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "postDocument: creates a new Document or new version if Document with provided uri already exists")
public Response postDocument(final DocumentParams params) {
DocumentManagement docMgr = getDocManager();
try {
logger.trace("postDocument; got params: {}", params);
DocumentAccessor doc = docMgr.storeDocument(params.uri, params.content, params.props);
logger.trace("postDocument; got document: {}", doc);
DocumentBean dr = new DocumentBean(doc.getUri(), doc.getCreateadAt(), doc.getCreatedBy(), doc.getContentType(),
doc.getEncoding(), doc.getSizeInBytes());
return Response.created(UriBuilder.fromPath("/docs/" + dr.uri).build()).entity(dr).build();
} catch (Exception ex) {
logger.error("postDocument.error", ex);
throw new WebApplicationException(ex, Status.INTERNAL_SERVER_ERROR);
}
}