Camel Rest DSL无法识别JsonProperty访问权限

时间:2017-02-10 07:36:12

标签: rest apache-camel

我正在使用Camel Rest DSL来构建我的休息服务,但似乎它不能识别JsonProperty注释。

我有一个像:

class Test {

    private int id;

    @JsonProperty(access = Access.READ_ONLY)
    private String text;
}

其余的定义是:

<rests xmlns="http://camel.apache.org/schema/spring">
    <rest consumes="application/json" produces="application/json" path="/api/v1">
        <post bindingMode="json" type="Test" uri="/path">
            <route>
                .....
            </route>
        </post>
    </rest>
</rests>

当我打电话给:

{
    "id":2,
    "text":"asd"
}

文本字段也正在初始化。

我错过了什么?

THX

1 个答案:

答案 0 :(得分:0)

Jackson的@JsonProperty中存在一个错误(access = Access.READ_ONLY)。 有关详细信息,请参阅:https://github.com/FasterXML/jackson-databind/issues/935

错误报告中提到了两种解决方法:

  • “唯一有用的是创建一个setter并用@JsonIgnore注释它”
  • “@ JsonIgnoreProperties(value =”some_field“,allowGetters = true,allowSetters = false)”