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

时间:2015-09-22 05:59:49

标签: spring rest spring-integration spring-tool-suite

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

先谢谢。

2 个答案:

答案 0 :(得分:1)

我不知道你为什么遇到样品有问题,我只是测试过它并且工作正常。

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

  1. 文件|新... | Spring Starter项目
  2. 将名称设置为,例如rest
  3. 点击下一步
  4. 选择WebIntegration(在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
  11. RestApplication:

    @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>
    

    修改

    要进行可展开的战争,请按照Spring Boot instructions 'Create a deployable war' here

    进行操作

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

    这里有更新的RestApplication班级......

    @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);
        }
    
    }
    

答案 1 :(得分:1)

我发现可能对您有帮助的内容,请尝试以下链接:https://dzilengine.wordpress.com/2015/08/02/seraphim/这是预设的Rest引擎,希望它可以帮到您