查询参数读取弹簧集成

时间:2016-03-26 09:17:12

标签: spring spring-integration

我是Spring Integration的新手,我刚开始研究规范。我的要求是获取HTTP请求 (例如:http://localhost:8080/LoginCheck?name=xyz&dob=zyz)。

任何人都可以指导我,如何继续谷歌搜索并找到一些信息,我们可以使用入站网关来读取参数,我的要求就像获取Http客户端数据并做一些过程,最后以XML格式响应客户端。

我只是在阅读输入数据时被困扰。

1 个答案:

答案 0 :(得分:1)

您必须获取收到的消息的有效负载。应该有一个带有请求参数的Map。

我制作了一个简单的SI DSL应用程序,只做那个

@SpringBootApplication
public class JmsResponderApplication {

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

    @Bean
    public HttpRequestHandlingMessagingGateway httpGate() {
        HttpRequestHandlingMessagingGateway gateway = new HttpRequestHandlingMessagingGateway(true);
        RequestMapping requestMapping = new RequestMapping();
        requestMapping.setMethods(HttpMethod.GET);
        requestMapping.setPathPatterns("/foo");
        gateway.setRequestMapping(requestMapping);
        gateway.setRequestChannel(requestChannel());
        return gateway;
    }

    @Bean
    public DirectChannel requestChannel() {
        return MessageChannels.direct().get();
    }

    @Bean
    public IntegrationFlow flow() {
        return IntegrationFlows.from(requestChannel())
                .handle(new MessageHandler() {

                    @Override
                    public void handleMessage(Message<?> m) throws MessagingException {
                        Object payload = m.getPayload();
                        System.out.println(payload); // the payload is a Map that holds the params
                        System.out.println(m);
                    }
                })
                .get();
    }
}

这是一个简单的Spring启动启动项目,具有以下依赖关系:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-integration</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-java-dsl</artifactId>
            <version>1.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

来源 - here