使用 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)...
- 文件 |新... | Spring 入门项目
- 将名称设置为,例如
rest
- 点击下一步
- Select
Web
, Integration
(IO下)
- 点击完成
- 打开
demo.RestApplication
(其中 Rest
是来自 #2 的大写名称)
- 添加
@ImportResource("classpath:context.xml")
- 在 src/main/resources
中创建 context.xml
- 运行 应用程序并在浏览器中点击
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 引擎,希望它能帮助你
我需要在 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)...
- 文件 |新... | Spring 入门项目
- 将名称设置为,例如
rest
- 点击下一步
- Select
Web
,Integration
(IO下) - 点击完成
- 打开
demo.RestApplication
(其中Rest
是来自 #2 的大写名称) - 添加
@ImportResource("classpath:context.xml")
- 在 src/main/resources 中创建
- 运行 应用程序并在浏览器中点击
http://localhost:8080/foo/bar
- 它会输出BAR
.
context.xml
休息应用程序:
@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 引擎,希望它能帮助你