New in Spring 5: Functional Web Framework1 設計 microservices 新的 paradigm , 類似 ratpack2 , 只是這是 multi-paradigm , 原有的 @Controller @RequestMapping 仍然都支援就是了...
RouterFunction<?> route = route(GET("/person/{id}"),
request -> {
//...
return Response.ok().body(fromPublisher(person, Person.class));
})
.and(route(GET("/person"),
request -> {
//...
return Response.ok().body(fromPublisher(people, Person.class));
}))
.and(route(POST("/person"),
request -> {
//....
return Response.ok().build(repository.savePerson(person));
}));
三個 route 還好,等到變成 20 個以上就會哭了。而且 IDE 看不到 method 的定義,也幫不了你。 Java 還沒有到能完全套用 functional 的 style...