2017-05-25 18 views
0

を使用して、異なるタイプのボディを持つResponseEntityオブジェクトを返すlambdas式を使用して、異なるタイプのボディでResponseEntityオブジェクトを返すことはできますか? 下のコードでは、私はもちろん、悪い戻り値の型を持っています。ラムダ式

competenceRepository.findByNameIgnoreCase(postCompetenceDTO.getName()).map(competence -> { 
      return new ResponseEntity<String>("Competence already exist!", HttpStatus.CONFLICT); 
     }).orElseGet(() -> { 
      Competence competence = new Competence(); 
      competence.setName(postCompetenceDTO.getName()); 

      return new ResponseEntity<CompetenceDTO>(competence.convertToCompetenceDTO(),HttpStatus.OK); 
     }); 

よろしく、 はいそれが可能だ事前

答えて

1

にありがとう、あなたはそれで何かを置くことができますので、あなたのResponseEntityObjectを指定する必要があります。また、余分なブレースから無礼になることがあります。

competenceRepository.findByNameIgnoreCase(postCompetenceDTO.getName()) 
     .map(c -> new ResponseEntity<Object>("Competence already exist!", HttpStatus.CONFLICT)) 
     .orElseGet(() -> { 
      Competence competence = new Competence(); 
      competence.setName(postCompetenceDTO.getName()); 
      return new ResponseEntity<Object>(competence.convertToCompetenceDTO(), HttpStatus.OK); 
}); 

希望します。