2017-08-12 3 views
2

Ich habe nach den Richtlinien Frühling HATEOAS wurde mit:HATEOAS auf Frühling Flux/Mono Antwort

https://spring.io/guides/gs/rest-hateoas/#initial

package hello; 

import static org.springframework.hateoas.mvc.ControllerLinkBuilder.*; 

import org.springframework.http.HttpEntity; 
import org.springframework.http.HttpStatus; 
import org.springframework.http.ResponseEntity; 
import org.springframework.web.bind.annotation.RestController; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestParam; 

@RestController 
public class GreetingController { 

    private static final String TEMPLATE = "Hello, %s!"; 

    @RequestMapping("/greeting") 
    public HttpEntity<Greeting> greeting(@RequestParam(value = "name", required = false, defaultValue = "World") String name) { 

     Greeting greeting = new Greeting(String.format(TEMPLATE, name)); 
     greeting.add(linkTo(methodOn(GreetingController.class).greeting(name)).withSelfRel()); 

     return new ResponseEntity<Greeting>(greeting, HttpStatus.OK); 
    } 
} 

Jetzt möchte ich ein Repository und Ausgang ein Flux/Mono Antwort verwenden:

@RestController 
class PersonController { 

    private final PersonRepository people; 

    public PersonController(PersonRepository people) { 
     this.people = people; 
    } 

    @GetMapping("/people") 
    Flux<String> namesByLastname(@RequestParam Mono<String> lastname) { 

     Flux<Person> result = repository.findByLastname(lastname); 
     return result.map(it -> it.getFullName()); 
    } 
} 

Wie kann ich Spring HATEOAS für eine Flux/Mono-Antwort verwenden? Ist es überhaupt möglich?

Antwort

Verwandte Themen