J'ai des problèmes pour convertir un paramètre de requête au format CSV en java.util.Set
dans ma passerelle entrante Spring Integration. Ma passerelle sortante ajoute le paramètre .Conversion du paramètre de requête en Set
Ma passerelle entrante lit le paramètre entier en tant qu'élément unique dans un ensemble comme ["ID_1, ID_2"]
.
J'ai créé ma propre méthode d'aide statique pour convertir la chaîne en ensemble mais je me demande s'il existe un moyen de faire la conversion implicitement dans Spring Integration?
Merci pour votre aide!
Mon code est ci-dessous.
passerelle sortante:
<int-http:outbound-gateway
url="MY_URL?ids={ids}&foo={foo}"
request-channel="myChannel"
http-method="GET"
message-converters="myConverter"
header-mapper="myMapper"
expected-response-type="MyDto">
<int-http:uri-variable name="ids" expression="payload"/>
<int-http:uri-variable name="foo" expression="headers.foo"/>
</int-http:outbound-gateway>
Passerelle entrante:
<int:service-activator
input-channel="myChannel"
expression="@'myService'.getStuff(payload.ids, headers.foo)"/>
<int-http:inbound-gateway
id="myGateway"
request-channel="myChannel"
path="MY_URL"
message-converters="myConverter"
header-mapper="myMapper"
supported-methods="GET">
<int-http:header name="foo" expression="#requestParams.foo"/>
</int-http:inbound-gateway>
EDIT
Cela ressemble à cela résoudra mon problème: https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/messaging-endpoints-chapter.html#payload-type-conversion
Merci. C'est certainement plus agréable que ma méthode statique personnalisée. J'ai toujours l'impression qu'il doit y avoir un moyen de le faire automatiquement dans Spring Integration. – Craig
Non, ce n'est pas la responsabilité de Spring Integration. À droite, il y a une abstraction 'Converter' et nous pouvons certainement développer' StringToSetConverter', mais cela pourrait être dangereux dans d'autres endroits. Quoi qu'il en soit: https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/messaging-endpoints-chapter.html#payload-type-conversion –