您的位置:首页 > 娱乐 > 八卦 > SpringBoot内部模拟http请求到Controller(不通过本机网络)

SpringBoot内部模拟http请求到Controller(不通过本机网络)

2024/12/23 9:50:12 来源:https://blog.csdn.net/guo__hang/article/details/141397700  浏览:    关键词:SpringBoot内部模拟http请求到Controller(不通过本机网络)

使用场景:

1. 想实现自定义协议请求数据,但是还有拥有spring的 controller方便的业务处理流程和注解。

2. 想要调用对应的 controller 却不想处理自定义的 mapping。

 

一、首先是通过参考 spring-test 中的模拟实现的HttpServlet

        <dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId></dependency>

 二、参考已经实现的模拟javax.servlet.http.HttpServletRequest 和 javax.servlet.http.HttpServletResponse

在 spring-test 依赖中已经对以上两个接口实现分别是

org.springframework.mock.web.MockHttpServletRequest

org.springframework.mock.web.MockHttpServletResponse

还会依赖到 org.springframework.mock.web.HeaderValueHolder 封装的请求头

可以把这三个类复制出来进行自定义改造

三、调用Spring的HTTP请求处理程序类 org.springframework.web.servlet.DispatcherServlet

通过此类中的 protected void service(HttpServletRequest request, HttpServletResponse response) 方法。 service

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com