我有一个webservice URL,我必须在其中传递一个带空格的值
但是webservice将其视为非法
String path = java.net.URLDecoder.decode((CommonConstants.END_POINT_URL.concat(CommonConstants.DELETE_APPOINTMENT_REASON).replace("{id}", appointmentID).replace("{reason}", reason)),"UTF-8");
WebTarget target = client.target(path);
System.out.println(target);
目标打印为:
JerseyWebTarget { http://abc-def/SchServices/api/appointment/51574e11-b794-e411-824b-1cc1de6ebf5a?reason=Test Appointment Reason }
测试和约会之间的空间不允许它访问webservice。 URL编码也不起作用....因为它编码完整的东西...请建议
答案 0 :(得分:0)
更改
.replace("{reason}", reason))
类似
.replace("{reason}", URLEncoder.encode(reason, "UTF-8")))
将编码url的空格。空格在格式正确的网址中是非法的,并且有两种可能的编码%20
或+
。