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

有可能使用REST和httpInvoker在spring boot中远程公开一个bean吗

华星剑
2023-03-14

我需要公开一些服务供Java客户端(他们应该使用httpinvoker)和其他语言(他们应该使用REST)远程使用。

我可以配置Spring靴来暴露两者吗?(我不介意使用两个具有不同端口的独立实例,就像这篇文章中一样)。

我放弃了为内部使用REST的Java客户端提供API的想法,因为使用<code>RestTemplate手动将所有RESTendpoint连接到代码中相当繁琐我喜欢HttpInvoker的概念,因为<code>ProxyFactoryBean

共有3个答案

燕琨
2023-03-14

我们在这里使用这两种技术。HttpInvoker用于Java到Java的调用。其他客户端使用简单的JSON over HTTP(类似于REST但不是真正的REST)。我认为jsonrpc4j项目提供了一种很好的实现HTTP的方法。

简景焕
2023-03-14

在Spring Boot公开HTTP invokerendpoint实际上非常容易,看起来好像缺少了什么。在路径上有< code>spring-webmvc的< code > @ spring boot application 中(例如使用< code > spring-boot-starter-web POM),添加以下bean定义:

@Bean(name = "/my.service")
public HttpInvokerServiceExporter myHttpInvokerServiceExporter(MyService myServiceImpl) {
    HttpInvokerServiceExporter exporter = new HttpInvokerServiceExporter();
    exporter.setServiceInterface(MyService.class);
    exporter.setService(myServiceImpl);
    return exporter;
}

HTTP调用程序endpoint现在在/my.service处公开,并且不会影响任何其他映射。您可以添加任意数量的此类endpoint;然后在顶部添加一些用于REST的@Request estMaps

赵俊侠
2023-03-14

你可以使用类似这样的东西。将服务公开为Rest服务。然后,使 Java 客户端使用 http 或其他一些库来使用这些服务。如果任何其他方也有兴趣,他们也可以用自己的方式消费它。

否则,您可以使用rest服务创建自己的jar,并让java客户机使用它,而不需要了解rest服务。

 类似资料:
  • 问题内容: 我目前正在尝试Django框架,我将与同事/朋友分享/展示/展示我所做的一些事情。我通过VMware在Win7下的Ubuntu中工作。因此,我希望/希望将当前带有端口的pub- IP(例如http://123.123.123.123:8181/django- app/ )发送给我的朋友,以便他们进行测试。 问题是-我使用Django的开发服务器(python /path-to-djan

  • 我有一个使用google drive android API构建的项目,但我想共享一个上传到云中的文件,我在另一个问题中读到,这只是可能使用REST API。所以我问你,有一种方法可以在同一个项目中使用这两个API? 谢谢

  • 问题内容: 我想使用Spring Rest界面公开所有ID。 我知道默认情况下,这样的ID不会通过rest接口公开: 我知道我可以使用它来公开ID : 但是,有没有一种简便的方法可以在不手动维护此列表的情况下公开所有ID ? 问题答案: 当前,SDR无法提供此功能。SDR Jira跟踪器上的此问题说明了为什么无法(也许不应该)的原因。 从根本上说,由于ID已包含在响应的链接中,因此您无需将ID 公

  • 尝试使用springboot MVC和Thymeleaf访问POST方法中的多个对象。 这是控制器。 下面是这些观点: patient.html 和result.html 和bean类是:PatientDataModel.java 另一个bean: 现在,问题是,我需要这两个bean在GET和POST方法中都可以访问。当我运行代码时,它正在执行,但是bean没有值,所有值都是空的。请建议

  • 我们如何做Spring app到Micronaut的增量迁移?我正在寻找迁移Spring的豆子到微型机器人。我试图从一个跟随文档的Spring应用程序中使用一个Micronaut bean,但它并不适合 我的示例测试:https://github.com/luistrigueiros/micronaut-expose-spring-beans/blob/master/src/test/groovy

  • 我有一个分布式Hazelcast地图(IMap),它可能非常大。 我的任务是返回整个map values()集合,作为对HTTP GET请求的响应。 为了最小化堆的利用率,我计划使用Spring WebFlux并返回Flux的一个实例。 我担心的是,imap#values().iterator().next()的调用(在flux.fromiterable()中是隐式的)可能会反序列化来自所有集群成