<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    SPRING INTEGRATION - ENRICH

    enrich時可以發(fā)起一個子流程,取得結(jié)果后再設(shè)置回當(dāng)前的對象中。

    package org.springframework.integration.stackoverflow.enricher;

    import java.util.List;
    import java.util.Map;
    import java.util.function.Function;
    import java.util.stream.Collectors;

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Bean;
    import org.springframework.http.HttpMethod;
    import org.springframework.integration.dsl.IntegrationFlow;
    import org.springframework.integration.dsl.IntegrationFlows;
    import org.springframework.integration.dsl.Transformers;
    import org.springframework.integration.http.dsl.Http;
    import org.springframework.web.client.RestTemplate;

    @SpringBootApplication
    public class SpringIntegrationEnricherApplication {

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

        @Bean
        public IntegrationFlow jsonEnricherFlow(RestTemplate restTemplate) {
            return IntegrationFlows.from(Function.class)
                    .transform(Transformers.fromJson(Map.class))
                    .enrich((enricher) -> enricher
                            .<Map<String, ?>>requestPayload((message) ->
                                    ((List<?>) message.getPayload().get("attributeIds"))
                                            .stream()
                                            .map(Object::toString)
                                            .collect(Collectors.joining(",")))
                            .requestSubFlow((subFlow) ->
                                    subFlow.handle(
                                            Http.outboundGateway("/attributes?id={ids}", restTemplate)
                                                    .httpMethod(HttpMethod.GET)
                                                    .expectedResponseType(Map.class)
                                                    .uriVariable("ids", "payload")))
                            .propertyExpression("attributes", "payload.attributes"))
                    .<Map<String, ?>, Map<String, ?>>transform(
                            (payload) -> {
                                payload.remove("attributeIds");
                                return payload;
                            })
                    .transform(Transformers.toJson())
                    .get();
        }

    }

    https://stackoverflow.com/questions/58205432/spring-integration-enrich-transform-message-using-rest-call

    https://www.tabnine.com/web/assistant/code/rs/5c781b6ae70f87000197ab9f#L312

    posted on 2021-09-21 13:40 paulwong 閱讀(274) 評論(0)  編輯  收藏 所屬分類: SPRINGSPRING INTERGRATIONSPRING BOOT

    主站蜘蛛池模板: 亚洲国产精品18久久久久久| 永久免费毛片在线播放| 亚洲成色www久久网站夜月| 最近中文字幕完整版免费高清| 亚洲人成网站18禁止| 亚洲国产精品一区二区第四页| 一级成人a毛片免费播放| 亚洲欧好州第一的日产suv| 国产av无码专区亚洲av果冻传媒| 99热这里只有精品免费播放| 美女无遮挡免费视频网站| 久久亚洲精品成人综合| 国产美女做a免费视频软件| 成人免费区一区二区三区| 亚洲欧好州第一的日产suv| 亚洲AV无码一区二区二三区入口 | 国产精品成人免费综合| 久久99精品视免费看| 美女被免费视频网站| 亚洲人妖女同在线播放| 国产亚洲av片在线观看18女人 | 亚洲电影中文字幕| 国产在线19禁免费观看| 三年片在线观看免费大全电影| 羞羞漫画在线成人漫画阅读免费 | 亚洲国产午夜精品理论片| 亚洲精品无码永久在线观看| 色影音免费色资源| 91视频免费观看| 边摸边吃奶边做爽免费视频99| 亚洲妇女水蜜桃av网网站| 国产亚洲精品自在久久| 日韩视频免费在线| 九九精品免费视频| 少妇无码一区二区三区免费| 亚洲精品偷拍视频免费观看| 亚洲色欲色欲www在线丝 | 国产日本亚洲一区二区三区| 国产精品美女自在线观看免费| 久久午夜夜伦鲁鲁片免费无码影视 | 亚洲五月午夜免费在线视频|