REST/JSONを使ってデータを交換することが増えてきていると思いますが、POSTでIRISにデータを渡す場合に日本語が含まれる場合に皆さんどう処理していますか?
わざわざ自分でコード変換する処理を追加していませんか?
実は、あまり知られていないのですが、自動で変換する方法がありますので、紹介します。
CSPのメカニズムを使ってクライアントからデータをPOSTすると、それはCSPのRequestオブジェクトのContentプロパティに渡されます。
ContentプロパティのTypeは%CSP.Streamになっていて、このTypeのクラスリファレンスを読むと、Content-TypeがText/のときには、CharSetに基づいてコード変換が行われると示唆されています。
つまりContent-TypeがJSONの場合には、自動的な変換がされないということになります。
本当は、Content-TypeがJSONの時も変換してくれるのが一番良い(わかりやすい)のですが、残念ながらそうなっていません。
その代わりにパラメータが用意されています。
RESTのディスパッチクラスの定義に以下のパラメータを追加することで、自動コード変換を行なってくれます。