19.6. Spring Boot Auto-Configuration
当将 fhir 与 Spring Boot 搭配使用时,请确保使用以下 Maven 依赖项支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-fhir-starter</artifactId> <version>{CamelSBProjectVersion}</version> <!-- Use your Camel Spring Boot version --> </dependency>
组件支持 56 选项,如下所示。
Name | 描述 | 默认 | 类型 |
---|---|---|---|
camel.component.fhir.access-token | OAuth 访问令牌。 | 字符串 | |
camel.component.fhir.autowired-enabled | 是否启用自动。这用于自动自动自动选项(选项必须标记为 autowired),方法是在 registry 中查找是否有匹配的类型实例,然后在组件上进行配置。这可用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.fhir.bridge-error-handler | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着在消费者尝试获取传入的消息时发生任何异常,或像这样一样处理,消息现在将被作为消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 处理异常,该处理程序将记录在 WARN 或 ERROR 级别并忽略。 | false | 布尔值 |
camel.component.fhir.client | 使用自定义客户端。选项是 ca.uhn.fhir.rest.client.api.IGenericClient 类型。 | IGenericClient | |
camel.component.fhir.client-factory | 使用自定义客户端工厂。选项是 ca.uhn.fhir.rest.client.api.IRestfulClientFactory 类型。 | IRestfulClientFactory | |
camel.component.fhir.compress | 将传出(POST/PUT)内容压缩到 GZIP 格式。 | false | 布尔值 |
camel.component.fhir.configuration | 使用共享配置。选项是 org.apache.camel.component.fhir.FhirConfiguration 类型。 | FhirConfiguration | |
camel.component.fhir.connection-timeout | 尝试建立初始 TCP 连接(ms)的时长。 | 10000 | 整数 |
camel.component.fhir.defer-model-scanning | 设定此选项时,在实际访问给定类型的子列表之前,对子类不会扫描模型类。 | false | 布尔值 |
camel.component.fhir.enabled | 是否启用 fhir 组件的自动配置。默认启用。 | 布尔值 | |
camel.component.fhir.encoding | 用于所有请求的编码。 | 字符串 | |
camel.component.fhir.fhir-context | FhirContext 是创建的一个昂贵对象。要避免创建多个实例,可以直接设置。选项是 ca.uhn.fhir.context.FhirContext 类型。 | FhirContext | |
camel.component.fhir.fhir-version | 要使用的 FHIR 版本。 | R4 | 字符串 |
camel.component.fhir.force-conformance-check | 强制检查。 | false | 布尔值 |
camel.component.fhir.lazy-start-producer | 制作者是否应该启动 lazy(在第一个消息上)。通过启动 lazy,您可以使用它来允许 CamelContext 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 Camel 的路由错误处理程序路由消息期间处理启动失败。注意在处理第一个消息时,创建并启动制作者可能花费较少的时间,从而延长处理的总处理时间。 | false | 布尔值 |
camel.component.fhir.log | 将记录每个请求和响应。 | false | 布尔值 |
camel.component.fhir.password | 用于基本身份验证的用户名。 | 字符串 | |
camel.component.fhir.pretty-print | 用户印刷所有请求。 | false | 布尔值 |
camel.component.fhir.proxy-host | 代理主机。 | 字符串 | |
camel.component.fhir.proxy-password | 代理密码。 | 字符串 | |
camel.component.fhir.proxy-port | 代理端口。 | 整数 | |
camel.component.fhir.proxy-user | 代理用户名。 | 字符串 | |
camel.component.fhir.server-url | FHIR 服务器基本 URL。 | 字符串 | |
camel.component.fhir.session-cookie | 要添加到每个请求的 HTTP 会话 cookie。 | 字符串 | |
camel.component.fhir.socket-timeout | 阻塞单个读/写操作的时间(ms)。 | 10000 | 整数 |
camel.component.fhir.summary | 使用 _summary 参数要求服务器修改响应。 | 字符串 | |
camel.component.fhir.username | 用于基本身份验证的用户名。 | 字符串 | |
camel.component.fhir.validation-mode | 当 Camel 应当验证 FHIR 服务器的一致声明时。 | ONCE | 字符串 |
camel.dataformat.fhirjson.content-type-header | 数据格式是否应该使用数据格式的类型设置 Content-Type 标头。例如:用于数据格式到 XML 的 application/xml,或数据格式到 JSON 的 application/json。 | true | 布尔值 |
camel.dataformat.fhirjson.dont-encode-elements | 如果提供,指定不应编码的元素。此字段的有效值包括: 耐心 - Don't en patient 以及其所有子人的 Patient.name - Don 对病人的名称 Patient.name.family - Don' encode the patient 的家族名称 .text - Don't 对任何资源上的文本元素进行编码(只有第一个位置可以包括通配符)DS2 备注: 请注意,包括 Patient.meta 的值(如 Patient.meta)可用于 DSTU2 解析器,但 meta 上带有子元素的值(如 Patient.meta.lastUpdated 只在 DSTU3 模式中可以正常工作。 | Set | |
camel.dataformat.fhirjson.dont-strip-versions-from-references-at-paths | 如果提供的值,指定路径中的任何资源引用都将对其资源版本编码,而不是在编码过程中自动剥离。此设置对解析过程没有影响。这个方法提供了比 setStripVersionsFromReferences(String)和通过这个方法指定的路径的精细级别控制,即使 setStripVersionsFromReferences(String)被设置为 true(默认)。 | list | |
camel.dataformat.fhirjson.enabled | 是否启用 fhirJson 数据格式的自动配置。默认启用。 | 布尔值 | |
camel.dataformat.fhirjson.encode-elements | 如果提供,指定应编码的元素,到所有其他的排除项。此字段的有效值包括: Patient - Encode patient 及其子级 Patient.name - Encode 仅包括 patient 的名称 Patient.name.family -Encode only the patient name .text - Encode 是任何资源上的文本元素(只有第一个位置可能包含通配符)---这是特殊字段,这种特殊字段是特殊的字段。 | Set | |
camel.dataformat.fhirjson.encode-elements-applies-to-child-resources-only | 如果设置为 true(默认为 false),则提供给 setEncodeElements(Set)的值不会被应用到 root 资源(通常为 Bundle),但会应用到该捆绑包中包含的任何子资源(例如,搜索结果资源)。 | false | 布尔值 |
camel.dataformat.fhirjson.fhir-version | 要使用的 FHIR 版本。可能的值有: DSTU2、DSTU2_HL7ORG、DSTU2_1、DSTU3、R4。 | DSTU3 | 字符串 |
camel.dataformat.fhirjson.omit-resource-id | 如果设置为 true(默认为 false),则输出中不包含任何被编码的资源的 ID。请注意,这不适用于包含资源,仅适用于 root 资源。换句话说,如果将其设置为 true,其中包含的资源仍会有本地 ID,但 outer/包含 ID 将不会有 ID。 | false | 布尔值 |
camel.dataformat.fhirjson.override-resource-id-with-bundle-entry-full-url | 如果设置为 true(默认值),则 Bundle.entry.fullUrl 会在定义了 fullUrl 时覆盖 Bundle.entry.resource 的 resource id。将源数据解析为 Bundle 对象时会发生此行为。如果这不是所需行为,则将其设置为 false(例如,客户端代码需要在 fullUrl 和资源 id 间执行额外的验证检查)。 | false | 布尔值 |
camel.dataformat.fhirjson.pretty-print | 设置 pretty print 标志,即解析器将使用元素之间的人类可读和新行来编码资源,而不是尽可能提高的输出。 | false | 布尔值 |
camel.dataformat.fhirjson.server-base-url | 设置此解析器使用的服务器基本 URL。如果设置了值,如果资源引用作为绝对 URL 提供,则会将其转换为相对引用,但具有与给定基本基本匹配的基础。 | 字符串 | |
camel.dataformat.fhirjson.strip-versions-from-references | 如果设置为 true(默认值),则包含版本的资源引用将在资源编码时删除版本。这通常是很好的,因为在多数情况下,从一个资源到另一个资源的引用应该由 ID(而不是 ID 和版本)指向资源。在某些情况下,最好在资源链接中保留版本。在这种情况下,这个值应该设置为 false。这个方法提供了全局禁用引用编码的功能。如果需要精细的控制,请使用 setDontStripVersionsFromReferencesAtPaths(List)。 | false | 布尔值 |
camel.dataformat.fhirjson.summary-mode | 如果设置为 true(默认为 false),则只包括 FHIR 规格所标记的元素,如概述元素。 | false | 布尔值 |
camel.dataformat.fhirjson.suppress-narratives | 如果设置为 true(默认为 false),则编码的值不会包含 narratives。 | false | 布尔值 |
camel.dataformat.fhirxml.content-type-header | 数据格式是否应该使用数据格式的类型设置 Content-Type 标头。例如:用于数据格式到 XML 的 application/xml,或数据格式到 JSON 的 application/json。 | true | 布尔值 |
camel.dataformat.fhirxml.dont-encode-elements | 如果提供,指定不应编码的元素。此字段的有效值包括: 耐心 - Don't en patient 以及其所有子人的 Patient.name - Don 对病人的名称 Patient.name.family - Don' encode the patient 的家族名称 .text - Don't 对任何资源上的文本元素进行编码(只有第一个位置可以包括通配符)DS2 备注: 请注意,包括 Patient.meta 的值(如 Patient.meta)可用于 DSTU2 解析器,但 meta 上带有子元素的值(如 Patient.meta.lastUpdated 只在 DSTU3 模式中可以正常工作。 | Set | |
camel.dataformat.fhirxml.dont-strip-versions-from-references-at-paths | 如果提供的值,指定路径中的任何资源引用都将对其资源版本编码,而不是在编码过程中自动剥离。此设置对解析过程没有影响。这个方法提供了比 setStripVersionsFromReferences(String)和通过这个方法指定的路径的精细级别控制,即使 setStripVersionsFromReferences(String)被设置为 true(默认)。 | list | |
camel.dataformat.fhirxml.enabled | 是否启用 fhirXml 数据格式的自动配置。默认启用。 | 布尔值 | |
camel.dataformat.fhirxml.encode-elements | 如果提供,指定应编码的元素,到所有其他的排除项。此字段的有效值包括: Patient - Encode patient 及其子级 Patient.name - Encode 仅包括 patient 的名称 Patient.name.family -Encode only the patient name .text - Encode 是任何资源上的文本元素(只有第一个位置可能包含通配符)---这是特殊字段,这种特殊字段是特殊的字段。 | Set | |
camel.dataformat.fhirxml.encode-elements-applies-to-child-resources-only | 如果设置为 true(默认为 false),则提供给 setEncodeElements(Set)的值不会被应用到 root 资源(通常为 Bundle),但会应用到该捆绑包中包含的任何子资源(例如,搜索结果资源)。 | false | 布尔值 |
camel.dataformat.fhirxml.fhir-version | 要使用的 FHIR 版本。可能的值有: DSTU2、DSTU2_HL7ORG、DSTU2_1、DSTU3、R4。 | DSTU3 | 字符串 |
camel.dataformat.fhirxml.omit-resource-id | 如果设置为 true(默认为 false),则输出中不包含任何被编码的资源的 ID。请注意,这不适用于包含资源,仅适用于 root 资源。换句话说,如果将其设置为 true,其中包含的资源仍会有本地 ID,但 outer/包含 ID 将不会有 ID。 | false | 布尔值 |
camel.dataformat.fhirxml.override-resource-id-with-bundle-entry-full-url | 如果设置为 true(默认值),则 Bundle.entry.fullUrl 会在定义了 fullUrl 时覆盖 Bundle.entry.resource 的 resource id。将源数据解析为 Bundle 对象时会发生此行为。如果这不是所需行为,则将其设置为 false(例如,客户端代码需要在 fullUrl 和资源 id 间执行额外的验证检查)。 | false | 布尔值 |
camel.dataformat.fhirxml.pretty-print | 设置 pretty print 标志,即解析器将使用元素之间的人类可读和新行来编码资源,而不是尽可能提高的输出。 | false | 布尔值 |
camel.dataformat.fhirxml.server-base-url | 设置此解析器使用的服务器基本 URL。如果设置了值,如果资源引用作为绝对 URL 提供,则会将其转换为相对引用,但具有与给定基本基本匹配的基础。 | 字符串 | |
camel.dataformat.fhirxml.strip-versions-from-references | 如果设置为 true(默认值),则包含版本的资源引用将在资源编码时删除版本。这通常是很好的,因为在多数情况下,从一个资源到另一个资源的引用应该由 ID(而不是 ID 和版本)指向资源。在某些情况下,最好在资源链接中保留版本。在这种情况下,这个值应该设置为 false。这个方法提供了全局禁用引用编码的功能。如果需要精细的控制,请使用 setDontStripVersionsFromReferencesAtPaths(List)。 | false | 布尔值 |
camel.dataformat.fhirxml.summary-mode | 如果设置为 true(默认为 false),则只包括 FHIR 规格所标记的元素,如概述元素。 | false | 布尔值 |
camel.dataformat.fhirxml.suppress-narratives | 如果设置为 true(默认为 false),则编码的值不会包含 narratives。 | false | 布尔值 |