1
CamelはURL Paramsをデコードします。私は私がで送信されたURLを取得する方法はあります 私はシナリオ(春のXML &キャメル)の下にあります。ラクダがクエリパラメータをデコードできないようにすることはできますか?
<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 & 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
であるはずです。同じ方法や他の方法でできる設定はありますか?提案してください。
です。申し訳ありませんが、&26%i:e resourceDesc = R%26B(R&Bは実際のテキストです)として追加されています。私はそれを&26ではなく%26にしたいと思っています(そのままURLを維持してください) – JD7
message.getHeader(Exchange.HTTP_QUERY、String.class)も同じです。 – JD7
それはラクダに関連しているので、URIは以前にデコードされています。アプリケーションでR%26Bを取得するには、%、 'R%2526B'をエンコードする必要があります。 –