2017-07-10 15 views
1

私はFhir xmlとFhir jsonの両方を生成する必要があるREST APIを持っています。私はxsdを使ってJavaクラスを生成しました。 XMLは100%動作します。しかし、jsonオブジェクトは、私が抑制したい属性を含んでいるので面白く見えます。私は私のREST APIに指定されている :@Produces({ "アプリケーション/ JSON + fhir"、MediaType.APPLICATION_JSON、MediaType.APPLICATION_XML})Fhir json - Javaアプリケーションのattributtes(例:@Value、@id)を抑制する方法

XML出力:

<Bundle xmlns="http://hl7.org/fhir" xmlns:ns2="http://www.w3.org/1999/xhtml"> 
<meta> 
    <versionId value="urn:uuid:b6bfc48a-7b03-4bf3-ba94-d05a3b52979a"/> 
    <lastUpdated value="2017-07-10T08:32:44.670+02:00"/> 
</meta> 
<type value="collection"/> 
<entry> 
    <resource> 
     <Coverage> 
      <id value="47000340200"/> 
      <subscriber> 
       <display value="AB SMITH"/> 
      </subscriber> 
      <period> 
       <start value="2017-01-01"/> 
      </period> 
      <payor> 
       <display value="XXX040TXX"/> 
      </payor> 
      <grouping> 
       <extension url="some URL"> 
        <valueUri value="Hyperlink goes here"/> 
       </extension> 
       <group value="XXX"/> 
       <groupDisplay value="XXX MEDICAL FUND"/> 
       <plan value="OPT1"/> 
       <planDisplay value="OPTION1"/> 
       <class value="Active"/> 
      </grouping> 
     </Coverage> 
    </resource> 
</entry> 

JSON出力:私は目を取り除くにはどうすればよい

{"Bundle": { 
"meta": { 
    "versionId": {"@value": "urn:uuid:b6bfc48a-7b03-4bf3-ba94-d05a3b52979a"}, 
    "lastUpdated": {"@value": "2017-07-10T08:32:44.670+02:00"} 
}, 
"type": {"@value": "collection"}, 
"entry": [ 
    {"resource": {"Coverage":  { 
     "id": {"@value": "47000340200"}, 
     "subscriber": {"display": {"@value": "AB SMITH"}}, 
     "period": {"start": {"@value": "2017-01-01"}}, 
     "payor": {"display": {"@value": "XXX040TXX"}}, 
     "grouping":   { 
      "extension":    { 
       "@url": "some URL", 
       "valueUri": {"@value": "Hyperlink goes here"} 
      }, 
      "group": {"@value": "XXX"}, 
      "groupDisplay": {"@value": "XXX MEDICAL FUND"}, 
      "plan": {"@value": "OPT1"}, 
      "planDisplay": {"@value": "OPTION1"} 
     } 
    }}} 
] 

}}

e "@Value"属性?

答えて

1

FHIR XML構文とJSON(およびTTL)構文はすべて構文に合わせて調整されているため、わずかに異なるモデルが表示されます。単純な型(日付、ブール値など)の拡張を使用してインスタンスを実行しようとすると、生成されたオブジェクトモデルにさらに大きな違いがあることがわかります。 XMLスキーマ、JSONスキーマ、またはOWLからオブジェクトモデルを生成する場合、後で追加しなければならない適切な手書きコーディングがあり、他の構文を正しく生成して解析することができます。代わりに、既存のリファレンス実装の1つを使用することです。これはコンバージョンを処理し、ヘルパークラスとメソッドを提供します。参照実装はdownloadsページにあります。

関連する問題