Browse Source

Filtering

dagarcos 2 years ago
parent
commit
cb34b6052a

+ 11 - 2
src/main/java/es/uv/garcosda/controllers/NewsController.java

@@ -39,6 +39,16 @@ public class NewsController {
 		return this.ns.findAll().delayElements(Duration.ofMillis(500));
 	}
 	
+	@GetMapping("publisher/{publisher}")
+    public Flux<Document> getByPublisher(@PathVariable("publisher") String publisher) {
+        return this.ns.findByPublisher(publisher).delayElements(Duration.ofMillis(500));
+    }
+	
+	@GetMapping("author/{author}")
+    public Flux<Document> getByAuthor(@PathVariable("author") String author) {
+        return this.ns.findByAuthor(author).delayElements(Duration.ofMillis(500));
+    }
+	
 	@PostMapping()
 	public Mono<Document> insert(@RequestBody Document n){
 		n.setDateAdd(new SimpleDateFormat("dd-MM-yyyy").format(new Date()));
@@ -52,8 +62,7 @@ public class NewsController {
 	
 	@DeleteMapping("{id}")
 	public Mono<Integer> delete(@PathVariable("id") Integer id){
-		return this.ns.deleteById(id).then(Mono.just(id));
-		
+		return this.ns.deleteById(id).then(Mono.just(id));		
 	}
 	
 }

+ 3 - 0
src/main/java/es/uv/garcosda/repositories/NewsRepository.java

@@ -4,8 +4,11 @@ package es.uv.garcosda.repositories;
 import org.springframework.data.repository.reactive.ReactiveCrudRepository;
 
 import es.uv.garcosda.domain.Document;
+import reactor.core.publisher.Flux;
 
 public interface NewsRepository extends ReactiveCrudRepository<Document, Integer>{
 
+	public Flux<Document> findByAuthor(String author);
+	public Flux<Document> findByPublisher(String publisher);
 	
 }

+ 8 - 0
src/main/java/es/uv/garcosda/services/NewsService.java

@@ -26,6 +26,14 @@ public class NewsService {
 		return this.nr.findAll();
 	}
 	
+	public Flux<Document> findByAuthor(String author){
+		return this.nr.findByAuthor(author);
+	}
+	
+	public Flux<Document> findByPublisher(String publisher){
+		return this.nr.findByPublisher(publisher);
+	}
+	
 	public Mono<Document> update(Document n){
 		return this.nr.save(n);
 	}

+ 1 - 0
src/main/resources/application.properties

@@ -1,6 +1,7 @@
 # Force to use all reactive components
 spring.main.web-application-type=reactive
 
+#logging.level.io.r2dbc.h2=TRACE