JSONIC 1.2.0 ベータ2 リリース
微妙な変更点多いですが……
JSONIC 1.1からの差分だとこんな感じです。
- JSON encoder/decoderにて処理中に限りメソッド情報をキャッシュするように変更しました。
- JSON.encode(or format)およびJSON.decode(or parse)にて
JSONHint(type=Serializable.class)
を指定した場合にはObjectInputStream/ObjectOutputStream
を使いシリアライズによる変換を行うようにしました。 - JSON.encode(or format)およびJSON.decode(or parse)にて
java.sql.RowId
の相互変換に対応しました。 - JSON.encode(or format)にて
java.sql.Array, java.sql.Struct
のJSON化に対応しました(逆方向には対応していません。相互変換が必要な場合はJSONHint(type=Serializable.class)
を指定しシリアル化してください)。 - [非互換] JSON WebServiceにて1.1までは送信されたContent-Typeに関わらずJSONとして処理されていましたが、1.2以降では送信時のContent-Typeが「
application/json
」の場合のみJSONとして処理されます。 - [非互換] JSON WebServiceにて各種DI Container用Containerクラスのパッケージを
net.arnx.jsonic.web
からnet.arnx.jsonic.web.extension
に変更しました。ご注意ください。 - [非互換] JSON WebServiceにてWebServiceServletに存在したpreinvoke, invoke, postinvokeの各メソッドは機能をContainerクラスに移動しpreinvoke, findMethod, postinvokeとなりました(引数も変更されています)。
- [非互換] JSON WebServiceで利用するデフォルトJSONクラスの名前を
WebServiceServlet.WebServiceJSON
に変更しました。 - JSON WebServiceにて、HTTP Methodに対応して呼ばれるメソッドをルート単位で変更できるようにしました。
- JSON WebServiceにJSON以外のレスポンスを返せるようHttpServletResponseを自分で操作できるProduceアノテーションを追加しました。
- JSON WebServiceにてContainerにリクエストの最初と最期にそれぞれ呼ばれるstartメソッドとendメソッドを追加しました。
- JSON WebServiceにてContainerに一連の実行処理を束ねるexecuteメソッドを追加しました。WebServiceServlet以外からJSON WebSerivceの処理ロジックを呼びたい場合に利用できます。
- JSON WebServiceにてFilterなど
WebServiceServlet
が呼ばれる前にrequest.getParameter(String name)
などが呼ばれると、処理に失敗する問題に対応しました。 なお、Winstoneに限り、request.getParameter(String name)
など呼び出し後、request.getInputStream()
の呼び出しに失敗する不具合があるため同状況では動作しません。 - JSON WebServiceのRPCモードにてエラー返却時、nameパラメータにクラスの単純名を設定するように変更しました。
- ドキュメントのRESTモードの説明にてJSON arrayが送られた場合のパラメータ設定順の記載が誤っていた点を修正しました。クエリ変数、パス変数と記載されていましたが、実際にはパス変数、クエリ変数の順に設定されます。
- sampleに同梱のprototype.jsとjquery.jsをそれぞれ1.6.1と1.3.2に更新しました。
- AS3版JSONICにて、JSON.encode(or format)時にmine変数を無視するように変更しました。