Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Servlet version HandlerFunction and RouterFunction [SPR-16952] #21490

Closed
spring-projects-issues opened this issue Jun 18, 2018 · 6 comments
Assignees
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

spring-projects-issues commented Jun 18, 2018

Arjen Poutsma opened SPR-16952 and commented

In Spring 5.0, we introduced the functional web framework consisting of HandlerFunction, RouterFunction, and related types that runs on Reactive runtimes like Netty (in short: webflux.fn, or the package org.springframework.web.reactive.function.server).

Users have since expressed interest in a similar framework, but then running on synchronous, servlet environments. This framework will not built on Reactor, but rather use Java 8 Stream and Optional instead. Package will most likely be org.springframework.web.servlet.function, short name webmvc.fn.


Issue Links:

@spencergibb
Copy link
Member

Spring Cloud Gateway could use this to provide a servlet alternative to zuul.

@maciejwalkowiak
Copy link
Contributor

@spencergibb what would be the benefits of bringing blocking option to Cloud Gateway?

@spencergibb
Copy link
Member

@maciejwalkowiak continue gateway conversation here spring-cloud/spring-cloud-gateway#36

@poutsma
Copy link
Contributor

poutsma commented Mar 8, 2019

See my PR at #22540

poutsma added a commit to poutsma/spring-framework that referenced this issue Mar 20, 2019
This commit introduces Servlet.fn, a servlet-based version of
WebFlux.fn, i.e. HandlerFunctions and RouterFunctions.

This commit contains the web framework only, further commits provide
tests and DispatcherServlet integration.

See spring-projectsgh-21490
poutsma added a commit to poutsma/spring-framework that referenced this issue Mar 20, 2019
This commit adds tests for Servlet.fn, the servlet-based version of
HandlerFunctions and RouterFunctions.

See spring-projectsgh-21490
poutsma added a commit to poutsma/spring-framework that referenced this issue Mar 20, 2019
This commit adds support for HandlerFunctions and RouterFunctions to
DispatcherServlet, in the form of a HandlerAdapter and HandlerMapping.

See spring-projectsgh-21490
poutsma added a commit to poutsma/spring-framework that referenced this issue Mar 20, 2019
This commit incoporates the remarks made during the Servlet.fn review.

See spring-projectsgh-21490
@poutsma
Copy link
Contributor

poutsma commented Mar 20, 2019

PR is merged!

@poutsma poutsma closed this as completed Mar 20, 2019
@sdeleuze
Copy link
Contributor

sdeleuze commented Apr 4, 2019

It is worth to notice that we have chosen to use the name WebMvc.fn instead of Servlet.fn for the sake of consistency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

6 participants