我可以阻止骆驼解码查询参数吗?

时间:2016-03-23 00:47:51

标签: spring rest apache-camel

Camel解码URL Params。有没有办法获得我发送的URL。 我有以下场景(Spring XML& Camel):

<route id="getDepResources">
        <from uri="restlet:/dep/{depId}/resources?restletMethods=GET"/>
<bean ref="deptUtility" method="process" />
</route>

public void process(Exchange exchange) throws Exception {

    Message message = exchange.getIn();
    String body = message.getBody(String.class);
    String uri = message.getHeader(Exchange.HTTP_URI, String.class);
......
}

curl -X GET 'http://localhost:8080/app1/dep/1/resources?resourceDesc=R%26B'  --header "Content-Type:application/json"

因此,对于resourceDesc = R%26B(R&amp; B),我需要将其作为R%26B,而我获得的第3行上的URI是http://localhost:8080/app1/dep/1/resources?resourceDesc=R&B,而我认为它应该是http://localhost:8080/app1/dep/1/resources?resourceDesc=R%26B 。我可以采用相同或任何其他方式进行配置吗?请建议。

1 个答案:

答案 0 :(得分:0)

它与camel没有直接关系,它与URI的规范有关:URI应该由UA解码。

如果您希望按原样获取,则应引用百分比字符。 %的引用为%25