23.6. Spring Boot Auto-Configuration
当在 Spring Boot 中使用 fhir 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-fhir-starter</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-fhir-starter</artifactId>
</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 处理。默认情况下,使用者将使用 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 | 生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 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 标头。例如,用于数据格式的 application/xml 例如,marshalling 到 XML,对于数据格式为 JSON,application/json 用于数据格式。 | true | 布尔值 |
camel.dataformat.fhirjson.dont-encode-elements | 如果提供,请指定不应编码的元素。此字段的有效值包括: 德语 - Don't encode the the all sub Patient.name - Don't encode the the Patient.name.family - Don't encode the the family's family name .text - Don't encode the text element on any resource (只有最第一个位置可能包含通配符)DSTU2 备注: 请注意,包括 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 the and all child Patient.name - Encode only the Patient.name.family - Encode only the good's 系列名称 .text - Encode - 对任何资源上的文本元素进行编码(仅限第一个位置可能包含通配符)-(必需)- 这个特殊情况,它导致任何资源的系列名称(最小 0)被编码。 | Set | |
camel.dataformat.fhirjson.encode-elements-applies-to-child-resources-only | 如果设置为 true (默认为 false),则提供给 setEncodeElements (Set)的值不会应用到根资源(通常是 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,但外部/包含 ID 将不会有 ID。 | false | 布尔值 |
camel.dataformat.fhirjson.override-resource-id-with-bundle-entry-full-url | 如果设置为 true (默认值),如果定义了 fullUrl,Bundle.entry.fullUrl 将覆盖 Bundle.entry.resource 的资源 ID。在将源数据解析到 Bundle 对象时,会发生此行为。如果这不是所需行为,则将其设置为 false (例如,客户端代码希望在 fullUrl 和资源 ID 之间执行额外的验证检查)。 | false | 布尔值 |
camel.dataformat.fhirjson.pretty-print | 设置用户友善的 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 标头。例如,用于数据格式的 application/xml 例如,marshalling 到 XML,对于数据格式为 JSON,application/json 用于数据格式。 | true | 布尔值 |
camel.dataformat.fhirxml.dont-encode-elements | 如果提供,请指定不应编码的元素。此字段的有效值包括: 德语 - Don't encode the the all sub Patient.name - Don't encode the the Patient.name.family - Don't encode the the family's family name .text - Don't encode the text element on any resource (只有最第一个位置可能包含通配符)DSTU2 备注: 请注意,包括 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 the and all child Patient.name - Encode only the Patient.name.family - Encode only the good's 系列名称 .text - Encode - 对任何资源上的文本元素进行编码(仅限第一个位置可能包含通配符)-(必需)- 这个特殊情况,它导致任何资源的系列名称(最小 0)被编码。 | Set | |
camel.dataformat.fhirxml.encode-elements-applies-to-child-resources-only | 如果设置为 true (默认为 false),则提供给 setEncodeElements (Set)的值不会应用到根资源(通常是 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,但外部/包含 ID 将不会有 ID。 | false | 布尔值 |
camel.dataformat.fhirxml.override-resource-id-with-bundle-entry-full-url | 如果设置为 true (默认值),如果定义了 fullUrl,Bundle.entry.fullUrl 将覆盖 Bundle.entry.resource 的资源 ID。在将源数据解析到 Bundle 对象时,会发生此行为。如果这不是所需行为,则将其设置为 false (例如,客户端代码希望在 fullUrl 和资源 ID 之间执行额外的验证检查)。 | false | 布尔值 |
camel.dataformat.fhirxml.pretty-print | 设置用户友善的 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 | 布尔值 |