You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2015/07/11 08:38:04 UTC
[jira] [Commented] (CAMEL-6768) @Header @Body @Property bean
parameter binding - add mandatory option
[ https://issues.apache.org/jira/browse/CAMEL-6768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14623267#comment-14623267 ]
Claus Ibsen commented on CAMEL-6768:
------------------------------------
The problem is that
public @interface Header {
String value();
}
Is a single value so you can just do @Header("foo") but if you add another option like
public @interface Header {
String value();
boolean required() default false;
}
Then you must specify the header as @Header(value = "foo") or change the name of value to name
public @interface Header {
String name();
boolean required() default false;
}
so you can do @Header(name = "foo")
In all cases its a api breaking change, and also its more verbose.
> @Header @Body @Property bean parameter binding - add mandatory option
> ---------------------------------------------------------------------
>
> Key: CAMEL-6768
> URL: https://issues.apache.org/jira/browse/CAMEL-6768
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Reporter: Claus Ibsen
> Priority: Minor
> Fix For: Future
>
>
> See
> http://stackoverflow.com/questions/18874641/add-string-to-camel-exchange-header-from-route?noredirect=1#comment27863978_18874641
> We could have an attribute mandatory = true, which is default true for these bean parameter annotations. Then people can set it to false, if a @Header is not mandatory (eg do not fail if the header is not present).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)