2016-10-27 6 views
1

MOXyを使用してPOSTによってJSONレスポンスを消費するJersey 2.xでRESTサービスをセットアップしようとしています。Jersey MOXy JSON大文字小文字を区別しないアンマーシャリング

すべてのJSON属性の名前がの場合、正確にはという名前がPOJOのプロパティと同じように機能します。大文字小文字を区別しないアンマーシャリングを可能にするようにMOXyを設定する方法はありますか?たとえば、POJOのJSON属性「testid」を「TestID」に一致させます。

POJO-Fieldはラクダのケースですが、受信したJSON-Attributeはどんな場合でもかまいません。私のサービスはそれにもかかわらず処理することができます。

ありがとうございました! JAXB注釈@XmlElement(name="testid")で、rmlanのコメントで指摘したように、カスタムのアンマーシャラーを定義する(またはHttpServletRequestから直接パース)だけ期待キー名を定義することができずに

+0

あなたのpojoフィールドがラクダのケースではないのはなぜですか? – rmlan

+0

POJO-Fieldはラクダのケースですが、受信したJSON-Attributeはどんな場合でもかまいません。私のサービスはそれにもかかわらず処理できます。 – Dayasha

+0

私はMoxyを使ったことがありませんが、(JSONの場合でも)JAXBアノテーションをサポートしていることはかなり確信しています。そのため、フィールドのゲッターに '@XmlElement(name =" testid ")'を追加して、マッピングが正しく機能するようにする必要があります。 – rmlan

答えて

1

。しかし、これは "TestID"や "TESTID"のようなキーでJSON入力からあなたのサービスを保護することはありません。

+0

あなたの答えをありがとう。大文字と小文字を区別しないサポートを提供するJacksonに切り替えると思います([Link](http://mtyurt.net/2015/07/27/case-insensitive-deserialization-in/)を参照) - これらの注釈では十分ではないため。 – Dayasha