応答ヘッダーのカスタマイズ

RESTful サービスの応答ヘッダーをカスタマイズすることが必要になる場合もあります。例えば、Shift_JIS エンコードを使用する応答ヘッダーを扱うために、REST リソース・クラス・ファイルを変更して、戻りタイプを javax.ws.rs.core.Response に変えたり、コンテンツ・タイプまたはカスタム・ヘッダーを変えたりする必要があります。例えば、FormParam を指定しながら、Shift_JIS を POST メソッドのデフォルトの文字セットとして使用する場合は、以下の手順を実行します。
  1. WebSphere® アプリケーション・サーバー エンコードを Shift_JIS と指定します。これを行う方法について詳しくは、WebSphere アプリケーション・サーバー の資料を参照してください。https://www.ibm.com/docs/was
  2. REST リソース・クラス内のメソッドの戻りタイプを javax.ws.rs.core.Response に変更します。例えば、以下のコードを変更します。
        @POST
        @Consumes({"application/x-www-form-urlencoded"})
        @Produces({"application/xml"})
        public xxx_Output_Properties invoke(@FormParam("id") String id, @FormParam("yyy") String yyy)
        {        
                            :
                            :
          return outputToClient;
        }
    宛先:
        @POST
        @Consumes({"application/x-www-form-urlencoded"})
        @Produces({"application/xml"})
        public javax.ws.rs.core.Response invoke(@FormParam("id") String id, @FormParam("yyy") String yyy)
        {        
                            :
                            :
          return javax.ws.rs.core.Response.ok(outputToClient, "application/xml;charset=Shift_JIS").build();
        }