spring - 一旦在 Spring 中调用 Endpoint,如何创建一个侦听客户端连接并打开套接字的套接字服务器?
问题描述
我有一个应用程序可以打开打印机的“HttpURLConnection”。打印机正在侦听套接字连接,并在应用程序端打开新的 TCP 套接字连接时建立连接(在这种情况下,通过新的“HttpURLConnection”)。现在,我想模拟这台打印机。
在应用程序中,对打印机服务器进行 Http 调用,并在应用程序和服务器之间建立套接字连接。如何将此打印机模拟为弹簧启动应用程序。
解决方案
听起来你需要看看 Spring Test Framework,尤其是它关于 Web 的部分:https ://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/testing.html# spring-mvc-测试客户端
我真的会研究通过 aRestTemplate
而不是直接进行交互的可能性HttpURLConnection
,然后将其MockRestServiceServer
用于模拟请求和响应。
另一种方法是使用@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
并实现具有适当映射和可能返回结果的控制器。这样你就可以使用上面提到HttpURLConnection
的连接到随机分配的 HTTP 服务器端口,并像在生产中一样执行请求。
推荐阅读
- react-native - Expo Android App 默认不需要任何权限
- python - 在函数中执行循环多处理的最快方法?
- arangodb - arangodb默认多少线程执行AQL查询?可以推广吗?
- urllib - python 3.8 urllib 文件:// 问题
- installation - Pycharm 包安装 - 离线
- c# - 如何在字符串中统一获取包含 c# 的字符串?
- flutter - 未处理的异常:InternalLinkedHashMap
' 不是 Map 类型的子类型 - google-cloud-platform - Google Cloud SQL - 如何创建窗口身份验证
- javascript - 找出如何最好地解决基于嵌套 ID 和 mongoose 更新许多字段的问题
- arrays - 返回值属于与 bash 关联数组中的 glob 表达式匹配的键名