Annotation Type Operation
-
@Retention(RUNTIME) @Target(METHOD) public @interface Operation
RESTful method annotation used for a method which provides FHIR "operations".
-
-
Field Summary
Fields Modifier and Type Fields Description static StringNAME_MATCH_ALLThis constant is a special return value forname().
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description BundleTypeEnumbundleTypeIf this operation returns a bundle, this parameter can be used to specify the bundle type to set in the bundle.booleanglobalIf this is set totrue, this method will be a global operation meaning that it applies to all resource typesbooleanidempotentIf a given operation method is idempotent (meaning roughly that it does not modify any data or state on the server) then this flag should be set totrue(default isfalse).booleanmanualRequestIf this is set totrue(default isfalseand this is almost always the right choice), the framework will not attempt to parse the request body, but will instead delegate it to the@Operationmethod.booleanmanualResponseIf this is set totrue(default isfalseand this is almost always the right choice), the framework will not attempt to generate a response to this method.OperationParam[]returnParametersThis parameter may be used to specify the parts which will be found in the response to this operation.Class<? extends IBaseResource>typeThis value may be populated with the resource type that the operation applies to.StringtypeNameThis value may be populated with the resource type that the operation applies to.
-
-
-
Field Detail
-
NAME_MATCH_ALL
static final String NAME_MATCH_ALL
This constant is a special return value forname(). If this name is used, the given operation method will match all operation calls. This is generally not desirable, but can be useful if you have a server that should dynamically match any FHIR operations that are requested.
-
-
-
type
Class<? extends IBaseResource> type
This value may be populated with the resource type that the operation applies to. If set toIBaseResource(which is the default) than the operation applies to the server and not to a specific resource type.This attribute should not be used a resource provider implementing
IResourceProvidersince the type can be inferred from the resource provider type.- Default:
- org.hl7.fhir.instance.model.api.IBaseResource.class
-
-
-
typeName
String typeName
This value may be populated with the resource type that the operation applies to. If set toIBaseResource(which is the default) than the operation applies to the server and not to a specific resource type.This attribute should not be used a resource provider implementing
IResourceProvidersince the type can be inferred from the resource provider type.- Default:
- ""
-
-
-
idempotent
boolean idempotent
If a given operation method is idempotent (meaning roughly that it does not modify any data or state on the server) then this flag should be set totrue(default isfalse).One the server, setting this to
truemeans that the server will allow the operation to be invoked using anHTTP GET(on top of the standardHTTP POST)- Default:
- false
-
-
-
returnParameters
OperationParam[] returnParameters
This parameter may be used to specify the parts which will be found in the response to this operation.- Default:
- {}
-
-
-
bundleType
BundleTypeEnum bundleType
If this operation returns a bundle, this parameter can be used to specify the bundle type to set in the bundle.- Default:
- ca.uhn.fhir.model.valueset.BundleTypeEnum.COLLECTION
-
-
-
manualResponse
boolean manualResponse
If this is set totrue(default isfalseand this is almost always the right choice), the framework will not attempt to generate a response to this method.This is useful if you want to include an
javax.servlet.http.HttpServletResponsein your method parameters and create a response yourself directly from your@Operationmethod.Note that this will mean that interceptor methods will not get fired for the response, so there are security implications to using this flag.
- Default:
- false
-
-
-
manualRequest
boolean manualRequest
If this is set totrue(default isfalseand this is almost always the right choice), the framework will not attempt to parse the request body, but will instead delegate it to the@Operationmethod.This is useful if you want to include an
javax.servlet.http.HttpServletRequestin your method parameters and parse the request yourself.- Default:
- false
-
-
-
global
boolean global
If this is set totrue, this method will be a global operation meaning that it applies to all resource types- Default:
- false
-
-