查看: 1670|回复: 0

[Java代码] 使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能

发表于 2018-3-3 12:06:43

概述

什么是 Spring WebFlux, 它是一种异步的, 非阻塞的, 支持背压(Back pressure)机制的Web 开发框架. 要深入了解 Spring WebFlux, 首先要了知道 Reactive Stream . 另一种编程姿势, 和命令式编程相对的姿势.

WebFlux 支持两种编程风(姿)格(势)

  • 使用 @Controller 这种基于注解的姿势, 与Sring MVC的姿势相同
  • 基于Java 8 Lambda的函数式编程风格

注意: 上面只是两种编程的姿势, 和"普通话和重庆话都是中国话"是一个道理. 我们公司也有外地的, 对他我说普通话, 对本地同事说重庆话. 这叫多态

创建项目

通过 http://start.spring.io 创建项目骨架.

如果是手工配置, 需要添加Spring的里程碑(Milestone)仓库:

  1. <repositories>
  2. <repository>
  3. <id>spring-snapshots</id>
  4. <name>Spring Snapshots</name>
  5. <url>https://repo.spring.io/snapshot</url>
  6. <snapshots>
  7. <enabled>true</enabled>
  8. </snapshots>
  9. </repository>
  10. <repository>
  11. <id>spring-milestones</id>
  12. <name>Spring Milestones</name>
  13. <url>https://repo.spring.io/milestone</url>
  14. <snapshots>
  15. <enabled>false</enabled>
  16. </snapshots>
  17. </repository>
  18. </repositories>
  19. <pluginRepositories>
  20. <pluginRepository>
  21. <id>spring-snapshots</id>
  22. <name>Spring Snapshots</name>
  23. <url>https://repo.spring.io/snapshot</url>
  24. <snapshots>
  25. <enabled>true</enabled>
  26. </snapshots>
  27. </pluginRepository>
  28. <pluginRepository>
  29. <id>spring-milestones</id>
  30. <name>Spring Milestones</name>
  31. <url>https://repo.spring.io/milestone</url>
  32. <snapshots>
  33. <enabled>false</enabled>
  34. </snapshots>
  35. </pluginRepository>
  36. </pluginRepositories>
复制代码

测试

列举所有用户

创建用户

获取单个用户

修改

删除

源码

demo-spring-boot-webflux-annotaion

总结

以上所述是小编给大家介绍的使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对程序员之家网站的支持!



回复

使用道具 举报