1 回答

TA貢獻1869條經驗 獲得超4個贊
歡迎來到堆棧溢出。
第一個例子是合適的:
public interface MyRepository extends ReactiveCassandraRepository<MyClass, String> {
@Query("select * from my_keyspace.my_table where solr_query = ?0")
Mono<Slice<MyClass>> findMono(String solrQuery, Pageable page);
}
Mono<Slice<MyClass>> repository.findMono(queryString, CassandraPageRequest.first(20));
問題是當您將其傳遞給 WebFlux(根據堆棧跟蹤)時,Jackson 無法對SliceImpl(的實現)進行編碼。Slice所以查詢產生了正確的結果,但如果你想對它進行 JSON 編碼,你需要傳遞Slice內容,而不是Slice本身。
相關說明:ReactiveCassandraRepository不實現ReactiveSortingRepository,因為帶有Sort參數的 Casandra 查詢始終需要一個WHERE子句。查看ReactiveSortingRepository,您會看到一個findAll(Sort)不采用過濾條件的方法:
public interface ReactiveSortingRepository<T, ID> extends ReactiveCrudRepository<T, ID> {
Flux<T> findAll(Sort sort);
}
添加回答
舉報