22.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 选项,如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
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 | 制作者是否应启动 lazy (在第一个消息中)。通过启动 lazy,您可以使用此选项来允许 CamelContext 和路由在制作者启动期间启动,并导致路由启动失败。通过将这个启动延迟到延迟,那么可以通过 Camel 的路由错误处理程序路由消息期间,可以处理启动失败。请注意,在处理第一个消息时,创建并启动制作者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.fhir.log | 将记录每个请求和响应。 | false | 布尔值 |
camel.component.fhir.password | 用于基本身份验证的用户名。 | 字符串 | |
camel.component.fhir.pretty-print | pretty 打印所有请求。 | 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 示例到 XML,或者用于数据格式的应用程序/json 到 JSON。 | true | 布尔值 |
camel.dataformat.fhirjson.dont-encode-elements | 如果提供,则指定不应编码的元素。此字段的有效值包括: Patient.name - Don't对病人名称 Patient.name.family 进行编码 - Don't对病人的系列名称 .text 进行编码 - 禁止对任何资源(只有第一个位置可能包含通配符)进行文本元素编码: 请注意,包括 meta 的值(如 Patient.meta )适用于 DSTU2 解析器,但含有子元素的值(如 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.name.family - Encode 仅含有任何资源的家族名称 .text - 请编码任何资源(仅第一个位置可能包含通配符)上的文本元素。(必需)- 这是一个特殊情况,从而导致任何资源(需要包括通配符)进行编码。 | Set | |
camel.dataformat.fhirjson.encode-elements-applies-to-child-resources-only | 如果设置为 true (默认为 false),则提供给 setEncodeElements (Set)的值不会应用到 root 资源(通常是一个捆绑包),但会应用到其中包含的任何子资源(例如,搜索该捆绑包中的搜索结果资源)。 | 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 (默认值),Bundle.entry.fullUrl 将覆盖 Bundle.entry.resource 资源 ID (如果定义了 fullUrl)。将源数据解析为 Bundle 对象时会发生此行为。如果这不是所需的行为(例如,客户端代码希望在 fullUrl 和资源 id 之间执行额外的验证检查),则将其设置为 false。 | false | 布尔值 |
camel.dataformat.fhirjson.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 标头。例如,用于数据格式的 application/xml 示例到 XML,或者用于数据格式的应用程序/json 到 JSON。 | true | 布尔值 |
camel.dataformat.fhirxml.dont-encode-elements | 如果提供,则指定不应编码的元素。此字段的有效值包括: Patient.name - Don't对病人名称 Patient.name.family 进行编码 - Don't对病人的系列名称 .text 进行编码 - 禁止对任何资源(只有第一个位置可能包含通配符)进行文本元素编码: 请注意,包括 meta 的值(如 Patient.meta )适用于 DSTU2 解析器,但含有子元素的值(如 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.name.family - Encode 仅含有任何资源的家族名称 .text - 请编码任何资源(仅第一个位置可能包含通配符)上的文本元素。(必需)- 这是一个特殊情况,从而导致任何资源(需要包括通配符)进行编码。 | Set | |
camel.dataformat.fhirxml.encode-elements-applies-to-child-resources-only | 如果设置为 true (默认为 false),则提供给 setEncodeElements (Set)的值不会应用到 root 资源(通常是一个捆绑包),但会应用到其中包含的任何子资源(例如,搜索该捆绑包中的搜索结果资源)。 | 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 (默认值),Bundle.entry.fullUrl 将覆盖 Bundle.entry.resource 资源 ID (如果定义了 fullUrl)。将源数据解析为 Bundle 对象时会发生此行为。如果这不是所需的行为(例如,客户端代码希望在 fullUrl 和资源 id 之间执行额外的验证检查),则将其设置为 false。 | false | 布尔值 |
camel.dataformat.fhirxml.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 | 布尔值 |