Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java fhir.executeBundle正在替换资源id…如何防止这种情况?_Java_Google Cloud Platform_Google Cloud Firestore_Google Cloud Storage_Hl7 Fhir - Fatal编程技术网

Java fhir.executeBundle正在替换资源id…如何防止这种情况?

Java fhir.executeBundle正在替换资源id…如何防止这种情况?,java,google-cloud-platform,google-cloud-firestore,google-cloud-storage,hl7-fhir,Java,Google Cloud Platform,Google Cloud Firestore,Google Cloud Storage,Hl7 Fhir,我正在使用它将资源上载到FHIRstore。 资源如下: { "resourceType": "Bundle", "id": "bundle-transaction", "meta": { "lastUpdated": "2018-03-11T11:22:16Z" }, "type": "transa

我正在使用它将资源上载到FHIRstore。 资源如下:

{
  "resourceType": "Bundle",
  "id": "bundle-transaction",
  "meta": {
    "lastUpdated": "2018-03-11T11:22:16Z"
  },
  "type": "transaction",
  "entry": [
    {
      "resource": {
        "resourceType": "Patient", "id" : 123456,
        "name": [
          {
            "family": "Smith",
            "given": [
              "Darcy"
            ]
          }
        ],
        "gender": "female",
        "address": [
          {
            "line": [
              "123 Main St."
            ],
            "city": "Anycity",
            "state": "CA",
            "postalCode": "12345"
          }
        ]
      },
      "request": {
        "method": "POST",
    "url": "Patient"
      }
    }
  ]
}
但是我正在使用的id(123456)正在被十六进制数替换

使用时不会发生这种情况 有没有办法阻止executeBundle方法替换我的id…因为我想在我的资源中使用自定义id

任何帮助都将不胜感激。
谢谢

当您执行事务时,效果将与您单独发布资源时相同。在文章中,服务器确定资源id。在常规文章中,该id被忽略或引发错误。在事务中,id用于管理整个事务中引用的解析,但服务器仍然选择持久化资源的id(并相应地更新所有引用)。如果要控制事务中的资源id值,请使用PUT而不是POST。(请注意,并非所有服务器都允许“upsert”-即在特定资源位置执行创建的PUT。)有关详细信息,请参阅。

如果服务器不允许使用PUT进行upsert,我们是否没有其他方法来控制id值?否。服务器通常会控制id,以防止多个客户端意外地将不同的对象发布到同一个位置和/或因为它们的持久性技术依赖于特定的标识符模式(例如整数、GUID等)。您可以自由地将“您的”id包含为搜索服务器时可以使用的“标识符”,但是,除非服务器的设计和配置允许您升级,否则您无法控制它使用的id。Google Cloud Healthcare API允许您通过设置“启用更新创建”标志来选择每个FHIR存储是否允许升级。