首先pom中导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
User
public class User implements Serializable {
private Integer id;
private String name;
private String passwd;
private Integer age;
public User(Integer id,String name,String passwd){
this.id = id;
this.name = name;
this.passwd = passwd;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
Service代码
/**
* @author : 徐长城
* @des:
* @date : 2019/9/17 20:36
*/
@Service
public class WebFluxServiceImpl implements WebFluxService {
private static Map<String,User> dataMap = new HashMap<String,User>();
static {
dataMap.put("1",new User(1,"xcc1","123"));
dataMap.put("2",new User(2,"xcc2","456"));
dataMap.put("3",new User(3,"xcc3","789"));
}
@Override
public Flux<User> getUser() {
Collection<User> list = WebFluxServiceImpl.dataMap.values();
return Flux.fromIterable(list);
}
@Override
public Mono<User> getUserById(final String id) {
User user = dataMap.get(id);
return Mono.justOrEmpty(user);
}
}
Controller代码
/**
* @author : 徐长城
* @des:
* @date : 2019/9/17 20:45
*/
@RestController
@RequestMapping("/webflux")
public class WebFluxController {
@Autowired
private WebFluxServiceImpl webFluxService;
/**
* 获取列表
* @return
*/
@GetMapping("/list")
public Flux<User> getList(){
return webFluxService.getUser();
}
/**
* 获取当个user
* @param id
* @return
*/
@GetMapping("/id")
public Mono<User> getUserById(final String id){
return webFluxService.getUserById(id);
}
}
主要使用Flux和Mono