2017-08-31 19 views
1

私は例外にデシリアライズ・エラー・春ブーツ反応

"Type definition error: [simple type, class reactor.core.publisher.Flux]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Can not construct instance of reactor.core.publisher.Flux (no Creators, like default construct, exist): abstract types either need to be mapped to concrete types, have custom deserializer, or contain additional type information\n at [Source: (PushbackInputStream); line: 1, column: 1] 

を取得しています。このURLを呼び出すには、単純なコントローラ

@RestController 
@RequestMapping("path") 
public class MyController { 

    @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) 
    public Flux<SomeObject> run(@RequestBody Flux<RequestObject> request){ 

     //do something and return flux 
    } 
    ... 
} 

を持って、私はこのエラーを理解し、通常、私はちょうど追加します必要に応じて 注釈

@JsonDeserialize(as = SomeConcreteClass.class)

しかしこの場合、どのFlux具体例をバインドすべきですか?また、Spring bootにReactor Types(Mono、Flux)のデフォルトの自動デシリアライザはありませんか?

マイポンポン(関連するもの):あなたが実際に今のSpring MVCを使用している

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-webflux</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-commons</artifactId> 
    </dependency> 

答えて

2

spring-boot-starter-webを削除し、それ以外の依存関係が一時的に発生しないようにしてください。