2016-05-19 1 views
0

ここには、@JsonViewsを使ってWebサービスからのエンティティのjson出力を操作するアプリケーションがあります。"customer"オブジェクトは、私たちが顧客を投稿するときに "null"値しか持たない

public class Customer implements Serializable { 

@Id 
@JsonView(ListView.class) 
private String customerID; 

@NotNull 
@Size(min = 3) 
@JsonView(DetailView.class) 
private String companyName; 

Webサービス・メソッド:

@POST 
// also tested but not working with @JsonView(DetailView.class) 
public Customer updateCustomer(Customer customer) { 
    return customerService.updateCustomer(customer); 
} 

すべてがWildfly 8および9にうまくいきましたが、私たちは顧客を投稿するときWildfly 10の「顧客」オブジェクトは、「ヌル」値を持っています。 Customer-Objectから "@JsonViews"を削除すると、jsonviewなしのプロパティが正しく使用されます。

Wildfly 10に以前のバージョンとは別の動作があり、それを修正する方法についてのアイデアはありますか?

どうもありがとう

PS:逆シリアル化のための予想

@GET 
@JsonView(DetailView.class) 
public Customer getCustomerById.... 

答えて

0

@JSONViewはジャクソン2.5以降許可されているようJSONViews作業でRequestesをGET。 データモデルはJSONViewを使用している場合、あなたがポスト/ PUTながら使いたいJSONビューを宣言する必要があることようだが、パラメータレベルで:

@POST 
public Customer updateCustomer(@JsonView(DetailView.class) Customer customer) { ... 

Wildfly 9ジャクソン2.4.X = JSONViewではない使用していますデシリアライゼーション用にサポートされていますので、ここでは期待どおりに動作しています。

関連する問題