換一種方式編寫 Spring MVC 介面
阿新 • • 發佈:2020-05-15
![](https://img2020.cnblogs.com/other/1739473/202005/1739473-20200515120338240-407139722.png)
## 1. 前言
通常我們編寫 **Spring MVC** 介面的正規化是這樣的:
```java
@RestController
@RequestMapping("/v1/userinfo")
public class UserInfoController {
@GetMapping("/foo")
public String foo() {
return "felord.cn";
}
}
```
這種我都寫吐了,今天換個口味,使用 **Spring 5** 新引入的函式式端點(**Functional Endpoints**)來耍耍。 這種方式同樣支援 **Spring Webflux**。
> 請注意可使用該特性的 **Spring** 版本不低於 **Spring 5.2**
## 2. 依賴
為了演示,這裡極簡化只引入 **Spring MVC** 的 **starter** :
```xml
```
## 3. RouterFunction
在函式式端點的寫法中,傳統的請求對映(`@RequestMapping`)被路由函式(`RouterFunction`)所代替。上面的寫法等同於:
```java
@Bean
public RouterFunction