当前位置: 首页 > 知识库问答 >
问题:

@getmapping和RSocketServer with spring-boot-starter-rsocket

蒲功
2023-03-14

按照https://www.baeldung.com/spring-boot-rsocket第4节中的规定,正在尝试RSocket请求/响应。因此,有一个RSocketServer自动配置并在端口7000监听。从浏览器中点击使用@getmapping注释的方法时,无法连接到该方法

@RestController
public class MarketDataRestController {

    private final RSocketRequester rSocketRequester;

    public MarketDataRestController(RSocketRequester rSocketRequester) {
        this.rSocketRequester = rSocketRequester;
    }

    @GetMapping(value = "/current/{stock}")
    public Publisher<MarketData> current(@PathVariable("stock") String stock) {
        return rSocketRequester
          .route("currentMarketData")
          .data(new MarketDataRequest(stock))
          .retrieveMono(MarketData.class);
    }
}

希望能够连接到MarketDataRestController类的Current(),并在从浏览器请求时使用@getmapping注释,例如:http://localhost:7000/current/apple。不确定如何连接到相同的。

共有1个答案

袁宜
2023-03-14

不能将@RequestMapping与套接字一起使用,而是使用@messagemapping:

我们将使用@MessageMapping注释,而不是像Spring MVC中那样使用@RequestMapping或@getMapping注释:

@Controller
public class MarketDataRSocketController {
private final MarketDataRepository marketDataRepository;
public MarketDataRSocketController(MarketDataRepository marketDataRepository) {
    this.marketDataRepository = marketDataRepository;
}
@MessageMapping("currentMarketData")
public Mono<MarketData> currentMarketData(MarketDataRequest marketDataRequest) {
    return marketDataRepository.getOne(marketDataRequest.getStock());
}
 类似资料:
  • 我们面临的问题是关于大小,我们意识到spring-boot-started占用了大量MB,而我们有另一个应用程序只使用:和,大小从50MB跳到10MB。 假设我们只使用Tomcat,除了使用的开发之外,如果删除会发生什么?我是否可以拥有一个只有和但仍然能够在开发过程中使用的应用程序?

  • 当时我试着将其中一个依赖项包括在内,但我找不到任何区别: Spring boot starter Web:我可以看到Flux和Mono类,并制作一个反应性rest控制器 Spring boot starter WebFlux:我可以看到rest控制器类和注释,并且可以制作一个规范的rest控制器 那么,我错过了什么?使用spring boot 2.2.5-释放。

  • 我正在努力学习spring boot,我注意到有两种选择。 > spring-boot-starter-web-根据文档,它支持全栈web开发,包括Tomcat和web-mvc spring-Boot-Starter-Tomcat 既然#1支持Tomcat,为什么要使用#2呢? 有什么不同? 谢谢

  • 在我的应用程序中,我想使用get映射将我重定向到TopicForm.html文件。我不知道为什么这种具体情况不起作用。在其他映射中,它工作得很好。 Topicform不工作,但当我想重定向到主题时,它工作得很好。 Intelij甚至没有给我映射。 Html文件目录如下所示:

  • 主要内容:starter,spring-boot-starter-parent传统的 Spring 项目想要运行,不仅需要导入各种依赖,还要对各种 XML 配置文件进行配置,十分繁琐,但 Spring Boot 项目在创建完成后,即使不编写任何代码,不进行任何配置也能够直接运行,这都要归功于 Spring Boot 的 starter 机制。本节我们将对 stater 进行介绍。 starter Spring Boot 将日常企业应用研发中的各种场景都抽取出来,做成一个个的

  • mybatisplus-spring-boot-starter 为 Mybatis-Plus 快速集成 spring-boot 简化配置而生,不再需拿 MyBatis 和 Hibernate 相比,mybatis-plus 作为 mybatis 的好拍档补充了它的短板,让 mybatis 兼具了 hibernate 的优点。  Mybatis 增强工具包 Mybatis-Plus mybatisp