使用 Spring 工具套件在 spring 集成中创建 REST API

Create a REST API in spring integration using Spring tool suite

我需要在 Spring 中创建 Restful APIs Integration.I 在 https://github.com/spring-projects/spring-integration-samples/tree/master/intermediate/rest-http 中找到了相同的示例但是不知何故这个示例不起作用为了我。我想知道是否有任何方法可以使用 STS 在 Spring 集成中创建 Restful API。由于 STS 为 Spring 集成提供了图表,我们如何直接使用 STS 图表创建 REST API。

提前致谢。

我不知道你为什么在使用示例时遇到问题,我刚刚测试了它,它工作正常。

但是,开始使用 STS 的最简单方法可能是(使用最新版本 >= 3.7)...

  1. 文件 |新... | Spring 入门项目
  2. 将名称设置为,例如rest
  3. 点击下一步
  4. Select Web, Integration(IO下)
  5. 点击完成
  6. 打开 demo.RestApplication(其中 Rest 是来自 #2 的大写名称)
  7. 添加@ImportResource("classpath:context.xml")
  8. 在 src/main/resources
  9. 中创建 context.xml
  10. 运行 应用程序并在浏览器中点击 http://localhost:8080/foo/bar - 它会输出 BAR.

休息应用程序:

@SpringBootApplication
@ImportResource("classpath:context.xml")
public class RestApplication {

    public static void main(String[] args) {
        SpringApplication.run(RestApplication.class, args);
    }

}

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:int="http://www.springframework.org/schema/integration"
    xmlns:int-http="http://www.springframework.org/schema/integration/http"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd
        http://www.springframework.org/schema/integration/http http://www.springframework.org/schema/integration/http/spring-integration-http.xsd">

    <int-http:inbound-gateway request-channel="in"
            path="/foo/{id}"
            supported-methods="GET"
            request-payload-type="java.lang.String">
        <int-http:header name="requestedId" expression="#pathVariables.id" />
    </int-http:inbound-gateway>

    <int:transformer input-channel="in" expression="headers['requestedId'].toUpperCase()" />

</beans>

编辑

要制作可部署的 war,请遵循 Spring Boot instructions 'Create a deployable war' here

但请参阅有关不支持 servlet 的旧 servlet 容器的说明 3.x。

这是更新后的 RestApplication class...

@SpringBootApplication
@ImportResource("classpath:context.xml")
public class RestApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(RestApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(RestApplication.class, args);
    }

}

我发现了一些可能对你有帮助的东西,试试这个link:https://dzilengine.wordpress.com/2015/08/02/seraphim/它是一个预置的 Rest 引擎,希望它能帮助你