Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 路由器和带注释的控制器之间有什么区别?_Spring Mvc_Spring Boot_Spring Webflux - Fatal编程技术网

Spring mvc 路由器和带注释的控制器之间有什么区别?

Spring mvc 路由器和带注释的控制器之间有什么区别?,spring-mvc,spring-boot,spring-webflux,Spring Mvc,Spring Boot,Spring Webflux,我正在使用WebFlux进行Web开发。 我找到了两种表达请求映射的方法 带注释的控制器:如@Controller或@RestController RouterFunction:RouterFunction用于将请求路由到HandlerFunction 我发现第二个比第一个更难使用,我也不知道它们之间的区别 所以我想问,2号还是1号哪个表现更好 谢谢我的朋友们 让我从你的最后一个问题开始 在性能方面,2比1好吗 不,性能没有差别 我发现2比1更难使用 这完全是基于个人偏好。也许你已经习惯了命令式

我正在使用WebFlux进行Web开发。 我找到了两种表达请求映射的方法

  • 带注释的控制器:如
    @Controller
    @RestController
  • RouterFunction
    RouterFunction
    用于将请求路由到
    HandlerFunction
  • 我发现第二个比第一个更难使用,我也不知道它们之间的区别

    所以我想问,2号还是1号哪个表现更好


    谢谢我的朋友们

    让我从你的最后一个问题开始

    在性能方面,2比1好吗

    不,性能没有差别

    我发现2比1更难使用

    这完全是基于个人偏好。也许你已经习惯了命令式的编程风格。因此,您觉得编写起来很容易(相信我,过一段时间,您也会对路由器功能有同样的感觉)

    基本上,路由器功能是向功能式编程迈出的一步。Spring希望用户能够灵活地以功能样式配置路由。

    除此之外,控制器和路由器功能之间没有区别。

    如果我们保留个人偏好,则过滤器中有一个明显的区别

    WebFlux框架提供两种类型的过滤器:WebFiltersHandlerFilterFunctions


    它们之间的主要区别在于WebFilter实现适用于所有端点,HandlerFilterFunction实现仅适用于基于路由器的端点

    RouterFunction的用途与注释类似。然而,有一个重要的区别:对于注释,您的路由仅限于通过注释值可以表达的内容。

    @RestControlle'=@Controller'+@ResponseBody'在methodsYes上默认为,对。我只是举一个例子。非常感谢你!“我理解其中的一部分。@xionge先生,您不理解哪一部分?首先,谢谢您的关心。关于Mono和Flux。使用Mono或Flux与不使用它有什么区别?我认为它们在性能上没有太大差异。因为我用JMeter做了一个测试。你最初的问题与“使用Mono或Flux有什么区别”无关。非常感谢。WebFlux中没有拦截器。当然,WebFilter也是如此……请给出一个或两个示例,其中功能配置可以比注释更进一步请看这篇文章