Jersey资源配置和Spring集成http:inbound-gateway

时间:2016-10-19 15:46:34

标签: java spring rest jersey spring-integration

我目前正在使用Spring Integration流程处理Spring Boot项目。 我有以下Spring Integration xml:

<!-- CHANNELS -->
<int:channel id="channelInput"/>
<int:channel id="channelOutput"/>

<int-http:inbound-gateway id="http-inbound-gateway"
                          request-channel="channelInput"
                          reply-channel="channelOutput"
                          supported-methods="GET"
                          path="/urlTest"
                          >
    <int-http:request-mapping consumes="application/json"
                              produces="application/json"/>

</int-http:inbound-gateway>


<int:service-activator input-channel="channelInput"
                       ref="serviceClassImpl"
                       method="testMethod"
                       output-channel="channelOutput">
</int:service-activator>

当我尝试对localhost:8080 / urlTest进行卷曲时,它给了我一个404.

后来我注意到我们有一个Jersey资源配置类,其中我们必须注册用@Path注释定义的所有路径,所以我认为404错误是因为我没有在Jersey注册该路径。但我不确定,因为我之前从未与泽西岛合作过。

@Component
public class ApplicationJerseyConfig extends ResourceConfig {
  public ApplicationJerseyConfig() {
    property(ServletProperties.FILTER_STATIC_CONTENT_REGEX,"/(info|browser/.*|api/(swagger.json|info)?|.*/api-docs.?|console/.*|configuration/.*|.*.html|.*.jpg|.*.gif|.*.png|.*.map|.*.js|.*.css|.*.ttf)?");
    register(TestRest.class);
    }
}

如何在Jersey资源配置中注册网关中定义的路径&#34; / urlTest&#34;?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

最后工作了,我只需要将路径添加到ResourceConfig的ServletProperties.FILTER_STATIC_CONTENT_REGEX中。