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.