Spring Fluxについて
Q&A
Closed
解決したいこと
SpringBootでNeo4Jへアクセスを行うアプリを作っています。
↓のチュートリアルを参考にしながら
https://neo4j.com/developer/spring-data-neo4j/
RestAPIでURLパラメータを受け取り、Neo4Jデータをブラウザに表示されたいのですが、
表示がうまくいきません。
下記のクラス:MovieControllerのgetMovies()あたりが問題だと思いますが、
原因を教えていただけると幸いです。
デバック実行をするとうまくデータは取れていますが、ブラウザに以下のようなデータが出てきてしまいます。
URL:http://localhost/movies
と入力すると以下のデータが出てきます。
data:{}
data:{}
data:{}
data:{}
data:{}
data:{}
data:{}
data:{}
data:{}
data:{}
data:{}
data:{}
MovieController
@SpringBootApplication
@RestController
@RequestMapping("/movies")
public class MovieController {
private final MovieRepository movieRepository;
public static void main(String[] args) {
SpringApplication.run(MovieController.class, args);
}
@Bean(ReactiveNeo4jRepositoryConfigurationExtension.DEFAULT_TRANSACTION_MANAGER_BEAN_NAME)
public ReactiveTransactionManager reactiveTransactionManager(
Driver driver,
ReactiveDatabaseSelectionProvider databaseNameProvider) {
return new ReactiveNeo4jTransactionManager(driver, databaseNameProvider);
}
public MovieController(MovieRepository movieRepository) {
this.movieRepository = movieRepository;
}
//更新
@PutMapping
Mono<MovieEntity> createOrUpdateMovie(@RequestBody MovieEntity newMovie) {
return movieRepository.save(newMovie);
}
//取得(全データ)
@GetMapping(value = { "", "/" }, produces = MediaType.TEXT_EVENT_STREAM_VALUE)
Flux<MovieEntity> getMovies() {
return movieRepository.findAll();
}
MovieEntity
package com.example.demoneo4j;
import java.util.HashSet;
import java.util.Set;
import org.springframework.data.neo4j.core.schema.Id;
import org.springframework.data.neo4j.core.schema.Node;
import org.springframework.data.neo4j.core.schema.Property;
import org.springframework.data.neo4j.core.schema.Relationship;
import org.springframework.data.neo4j.core.schema.Relationship.Direction;
@Node("Movie")
public class MovieEntity {
@Id
private final String title;
@Property("tagline")
private final String description;
@Relationship(type = "ACTED_IN", direction = Direction.INCOMING)
private Set<PersonEntity> actors = new HashSet<>();
@Relationship(type = "DIRECTED", direction = Direction.INCOMING)
private Set<PersonEntity> directors = new HashSet<>();
public MovieEntity(String title, String description) {
this.title = title;
this.description = description;
}
}
MovieRepository
package com.example.demoneo4j;
import org.springframework.data.neo4j.repository.ReactiveNeo4jRepository;
import reactor.core.publisher.Mono;
public interface MovieRepository extends ReactiveNeo4jRepository<MovieEntity, String> {
Mono<MovieEntity> findOneByTitle(String title);
}
0