1 回答

TA貢獻(xiàn)1869條經(jīng)驗 獲得超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));
問題是當(dāng)您將其傳遞給 WebFlux(根據(jù)堆棧跟蹤)時,Jackson 無法對SliceImpl(的實現(xiàn))進(jìn)行編碼。Slice所以查詢產(chǎn)生了正確的結(jié)果,但如果你想對它進(jìn)行 JSON 編碼,你需要傳遞Slice內(nèi)容,而不是Slice本身。
相關(guān)說明:ReactiveCassandraRepository不實現(xiàn)ReactiveSortingRepository,因為帶有Sort參數(shù)的 Casandra 查詢始終需要一個WHERE子句。查看ReactiveSortingRepository,您會看到一個findAll(Sort)不采用過濾條件的方法:
public interface ReactiveSortingRepository<T, ID> extends ReactiveCrudRepository<T, ID> {
Flux<T> findAll(Sort sort);
}
添加回答
舉報