Package org.ehrbase.rest.openehr
Class OpenehrQueryController
java.lang.Object
org.ehrbase.rest.BaseController
org.ehrbase.rest.openehr.OpenehrQueryController
- All Implemented Interfaces:
QueryApiSpecification
@ConditionalOnMissingBean(name="primaryopenehrquerycontroller")
@RestController
@RequestMapping(path="${openehr-api.context-path:/rest/openehr}/v1/query",
produces={"application/json","application/xml"})
public class OpenehrQueryController
extends BaseController
implements QueryApiSpecification
Controller for openEHR REST API QUERY resource.
-
Field Summary
Fields inherited from class org.ehrbase.rest.BaseController
ACCEPT, ADMIN_API_CONTEXT_PATH, API_CONTEXT_PATH, API_CONTEXT_PATH_WITH_VERSION, apiContextPathWithVersion, COMPOSITION, CONTENT_TYPE, CONTRIBUTION, DEFINITION, DIRECTORY, EHR, EHR_STATUS, ETAG, IF_MATCH, LAST_MODIFIED, LOCATION, OPENEHR_AUDIT_DETAILS, OPENEHR_VERSION, PREFER, QUERY, REQ_ACCEPT, REQ_CONTENT_TYPE, RESP_CONTENT_TYPE_DESC, RETURN_MINIMAL, RETURN_REPRESENTATION, TEMPLATE, VERSIONED_COMPOSITION, VERSIONED_EHR_STATUS -
Constructor Summary
ConstructorsConstructorDescriptionOpenehrQueryController(AqlQueryService aqlQueryService, StoredQueryService storedQueryService, AqlQueryContext aqlQueryContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.ehrbase.openehr.sdk.response.dto.QueryResponseDatacreateQueryResponse(org.ehrbase.openehr.sdk.response.dto.ehrscape.QueryResultDto aqlQueryResult, String queryString, URI location) org.springframework.http.ResponseEntity<org.ehrbase.openehr.sdk.response.dto.QueryResponseData> executeAdHocQuery(String queryString, Integer offset, Integer fetch, Map<String, Object> queryParameters, String accept) Execute ad-hoc (non-stored) AQL query.org.springframework.http.ResponseEntity<org.ehrbase.openehr.sdk.response.dto.QueryResponseData> Execute ad-hoc (non-stored) AQL query.org.springframework.http.ResponseEntity<org.ehrbase.openehr.sdk.response.dto.QueryResponseData> executeStoredQuery(String qualifiedQueryName, String version, Integer offset, Integer fetch, Map<String, Object> queryParameters, String accept) Execute stored query.org.springframework.http.ResponseEntity<org.ehrbase.openehr.sdk.response.dto.QueryResponseData> executeStoredQuery(String qualifiedQueryName, String version, String accept, String contentType, Map<String, Object> queryRequest) Execute stored query.Methods inherited from class org.ehrbase.rest.BaseController
createLocationUri, decodeVersionAtTime, extractCompositionRepresentation, extractVersionedObjectUidFromVersionUid, extractVersionFromVersionUid, getCompositionVersionedObjectUidString, getContextPath, getContributionVersionedObjectUidString, getEhrUuid, parseUUID, resolveContentType, resolveContentType
-
Constructor Details
-
OpenehrQueryController
public OpenehrQueryController(AqlQueryService aqlQueryService, StoredQueryService storedQueryService, AqlQueryContext aqlQueryContext)
-
-
Method Details
-
executeAdHocQuery
@GetMapping(path="/aql") public org.springframework.http.ResponseEntity<org.ehrbase.openehr.sdk.response.dto.QueryResponseData> executeAdHocQuery(@RequestParam(name="q") String queryString, @RequestParam(name="offset",required=false) Integer offset, @RequestParam(name="fetch",required=false) Integer fetch, @RequestParam(name="query_parameters",required=false) Map<String, Object> queryParameters, @RequestHeader(name="Accept",required=false) String accept) Execute ad-hoc (non-stored) AQL query.- Specified by:
executeAdHocQueryin interfaceQueryApiSpecification
-
executeAdHocQuery
@PostMapping(path="/aql", consumes={"application/json","application/xml"}) public org.springframework.http.ResponseEntity<org.ehrbase.openehr.sdk.response.dto.QueryResponseData> executeAdHocQuery(@RequestBody Map<String, Object> queryRequest, @RequestHeader(name="Accept",required=false) String accept, @RequestHeader(name="Content-Type") String contentType) Execute ad-hoc (non-stored) AQL query.- Specified by:
executeAdHocQueryin interfaceQueryApiSpecification
-
executeStoredQuery
@GetMapping(path={"/{qualified_query_name}","/{qualified_query_name}/{version}"}) public org.springframework.http.ResponseEntity<org.ehrbase.openehr.sdk.response.dto.QueryResponseData> executeStoredQuery(@PathVariable(name="qualified_query_name") String qualifiedQueryName, @PathVariable(name="version",required=false) String version, @RequestParam(name="offset",required=false) Integer offset, @RequestParam(name="fetch",required=false) Integer fetch, @RequestParam(name="query_parameters",required=false) Map<String, Object> queryParameters, @RequestHeader(name="Accept",required=false) String accept) Execute stored query.- Specified by:
executeStoredQueryin interfaceQueryApiSpecification
-
executeStoredQuery
@PostMapping(path={"/{qualified_query_name}","/{qualified_query_name}/{version}"}, consumes={"application/json","application/xml"}) public org.springframework.http.ResponseEntity<org.ehrbase.openehr.sdk.response.dto.QueryResponseData> executeStoredQuery(@PathVariable(name="qualified_query_name") String qualifiedQueryName, @PathVariable(name="version",required=false) String version, @RequestHeader(name="Accept",required=false) String accept, @RequestHeader(name="Content-Type") String contentType, @RequestBody(required=false) Map<String, Object> queryRequest) Execute stored query.- Specified by:
executeStoredQueryin interfaceQueryApiSpecification
-
createQueryResponse
-