Annotation Type Operation
-
Required Element Summary
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionIf this operation returns a bundle, this parameter can be used to specify the bundle type to set in the bundle.The canonical URL of the operation, e.g.boolean
To support cancelling of a job, this flag should be set totrue
(default isfalse
).boolean
If this is set totrue
, this method will be a global operation meaning that it applies to all resource types.boolean
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
).boolean
If this is set totrue
(default isfalse
and this is almost always the right choice), the framework will not attempt to parse the request body, but will instead delegate it to the@Operation
method.boolean
If this is set totrue
(default isfalse
and this is almost always the right choice), the framework will not attempt to generate a response to this method.This parameter may be used to specify the parts which will be found in the response to this operation.Class
<? extends IBaseResource> This value may be populated with the resource type that the operation applies to.This value may be populated with the resource type that the operation applies to. -
Field Summary
-
Field Details
-
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.- See Also:
-
-
Element Details
-
name
The name of the operation, e.g. "$everything
"This may be specified with or without a leading '$'. (If the leading '$' is omitted, it will be added internally by the API).
-
type
Class<? extends IBaseResource> typeThis 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
IResourceProvider
since the type can be inferred from the resource provider type.- See Also:
- Default:
org.hl7.fhir.instance.model.api.IBaseResource.class
-
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
IResourceProvider
since the type can be inferred from the resource provider type.- See Also:
- Default:
""
-
idempotent
boolean idempotentIf 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
true
means that the server will allow the operation to be invoked using anHTTP GET
(on top of the standardHTTP POST
)- Default:
false
-
deleteEnabled
boolean deleteEnabledTo support cancelling of a job, this flag should be set totrue
(default isfalse
).The server, when setting this to
true
, will allow the operation to be invoked using anHTTP DELETE
(on top of the standardHTTP POST
)- Default:
false
-
returnParameters
This parameter may be used to specify the parts which will be found in the response to this operation.- Default:
{}
-
bundleType
If this operation returns a bundle, this parameter can be used to specify the bundle type to set in the bundle.- Default:
COLLECTION
-
manualResponse
boolean manualResponseIf this is set totrue
(default isfalse
and 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
invalid reference
jakarta.servlet.http.HttpServletResponse
@Operation
method.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 manualRequestIf this is set totrue
(default isfalse
and this is almost always the right choice), the framework will not attempt to parse the request body, but will instead delegate it to the@Operation
method.This is useful if you want to include an
invalid reference
jakarta.servlet.http.HttpServletRequest
- Default:
false
-
global
boolean globalIf this is set totrue
, this method will be a global operation meaning that it applies to all resource types. Operations with this flag set should be placed in Plain Providers (i.e. they don't need to be placed in a resource-type-specificIResourceProvider
instance) and should have a parameter annotated withIdParam
.- Default:
false
-
canonicalUrl
The canonical URL of the operation, e.g. "http://hl7.org/fhir/us/davinci-hrex/OperationDefinition/member-match|1.0.0"This may be specified with or without a version. e.g. @Operation(name = "$everything", canonicalUrl = "http://hl7.org/fhir/OperationDefinition/Patient-everything") or @Operation(name = "$member-match", canonicalUrl = "http://hl7.org/fhir/us/davinci-hrex/OperationDefinition/member-match|1.0.0")
- Default:
""
-