Java >> Java Tutorial >  >> Tag >> Spring

Wie kann ich einen HTTP-Eingangskanaladapter mit JAVA-Konfiguration in der Spring-Integration erstellen?

Ich habe den folgenden HTTP-Inbound-Channel-Adapter. Wie kann ich diese Konfiguration mit Java Config oder Spring DSL vornehmen?

<int-http:inbound-channel-adapter
    channel="api_app_integration_request_channel" 
    supported-methods="PUT" 
    path="/process/ticket"
    request-payload-type="*.model.Ticket"
    header-mapper="headerMapper"
    error-channel="internal-client-rest-ticket-error-channel"
>
<int-http:request-mapping consumes="application/json" />
</int-http:inbound-channel-adapter>

Antwort

Siehe Referenzhandbuch zur Spring-Integration:

Java DSL überhaupt:https://docs.spring.io/spring-integration/docs/current/reference/html/dsl.html#java-dsl

Besonderheiten des HTTP-Moduls:https://docs.spring.io/spring-integration/docs/current/reference/html/http.html#http-java-config

Ihr spezielles Beispiel könnte in diesen IntegrationFlow übersetzt werden :

    @Bean
    public IntegrationFlow myHttpFlow() {
        return IntegrationFlows
                .from(Http.inboundChannelAdapter("/process/ticket")
                        .requestMapping(r -> r
                                .methods(HttpMethod.PUT)
                                .consumes("application/json"))
                        .requestPayloadType(model.Ticket.class)
                        .headerMapper(headerMapper))
                .channel("api_app_integration_request_channel")
                ...
                .get();
    }

Statt ... Sie können Integrationsendpunkte hinzufügen, um Ihre Logik für die Verarbeitung dieser Anfragen aufzubauen.

Im selben HTTP-Kapitel erfahren Sie, wie Sie einen HttpRequestHandlingMessagingGateway konfigurieren als einfache @Bean wenn das.


Java-Tag