2017-11-24 22 views
0

私はMapstructチェックヌル

@Mapper(NullValueCheckStrategy.ALWAYS) 

を使用する場合

@Override 
public void updateFooFromNonNullAttributesOfDto(FooDto fooDto, Foo foo) { 
     if (fooDto== null) { 
      return; 
     } 
     if (fooDto.getBar() != null) { 
      site.setBar(fooDto.getBar()); 
     } 
     if (fooDto.getBaz() != null) { 
      site.setBar(fooDto.getBaz()); 
     } 
} 

方法にnullをチェックチェック解決するためにどのようにそれはすべてのメソッドでのチェックですが、私は1つだけチェックしたい... ワンドこの問題?

+0

メソッド宣言で '@ Nullable/@ NotNull'アノテーションを使用することができます。 – procrastinator

+0

MapStructは、これらのアノテーションをまだサポートしていません。[#1243](https://github.com/mapstruct/mapstruct/issues/1243) – Filip

答えて

1

これはMapStructではまだ可能ではありません。すべてを行う場合も、しない場合もあります。まったく同じことに対する機能要求が既にあります。 1243

0

カスタム無視を使用することもできます。

議論の出典:[リンク] [1] ignoreStrategyため

可能な値:

ALWAYS (as true) 
NEVER (as false) 
NULL_SOURCE (ignore if source value is null) - often required in many projects 
    if (source.getValue() != null) 
     target.setValue (source.getValue()); 
NULL_TARGET (ignore if target value is null) 
    if (target.getValue() != null) 
     target.setValue(source.getValue()); 

[1]:https://github.com/mapstruct/mapstruct/issues/369 ???

バグ?私は他の答えを変更することができますか?

+0

この記事は非常に古いですが、 ignoreStrategy – LeshaRB

+0

その部分はまだ実装されていませんが、機能要求です – Filip

関連する問題