将一句话传递给网络服务 URL
Pass a sentence to a webservice URL
我有一个网络服务 URL,我必须在其中传递一个包含空格的值
但网络服务称其为非法
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 }
测试和约会之间的空间不允许它访问网络服务。 URL 编码也不起作用....因为它编码完整的东西...请建议
改变
.replace("{reason}", reason))
类似于
.replace("{reason}", URLEncoder.encode(reason, "UTF-8")))
这将为 url 编码空格。格式正确的 URL 中的空格是非法的,并且有两种可能的编码 %20
或 +
.
我有一个网络服务 URL,我必须在其中传递一个包含空格的值
但网络服务称其为非法
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 }
测试和约会之间的空间不允许它访问网络服务。 URL 编码也不起作用....因为它编码完整的东西...请建议
改变
.replace("{reason}", reason))
类似于
.replace("{reason}", URLEncoder.encode(reason, "UTF-8")))
这将为 url 编码空格。格式正确的 URL 中的空格是非法的,并且有两种可能的编码 %20
或 +
.