我需要在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。
先谢谢。
答案 0 :(得分:1)
我不知道你为什么遇到样品有问题,我只是测试过它并且工作正常。
然而,开始使用STS的最简单方法可能是(使用最新版本> = 3.7)...
rest
Web
,Integration
(在IO下)demo.RestApplication
(其中Rest
是#2的大写名称)@ImportResource("classpath:context.xml")
context.xml
http://localhost:8080/foo/bar
- 它将输出BAR
。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引擎,希望它可以帮到您