编码RESTful服务的URI

时间:2016-08-22 09:13:54

标签: javascript json rest encoding

我正在尝试使用Ionic 2(javascript)的电子邮件地址调用java GET RESTful服务。它工作正常,但是当我向电子邮件地址添加一个点(例如.com)时,它会在到达服务时丢失点中的所有字符。

如何对URI进行编码以便向服务发送电子邮件地址?

我正在使用:

'/list/email/' + encodeURIComponent(email)

但如果电子邮件地址为:email@domain.com,则会以email@domain的形式到达服务。

我试过了:

'/list/email/' + email

'/list/email/' + encodeURI(email)

'/list/email/' + encodeURIComponent(email)

都给出相同的结果

由于

3 个答案:

答案 0 :(得分:1)

您可以尝试将您的电子邮件地址编码为Base64字符串。

var encodedData = window.btoa("test@test.com"); // encode a string
var decodedData = window.atob(encodedData); // decode the string

如何解码服务器上的Base64字符串

byte[] valueDecoded= Base64.decodeBase64(bytesEncoded);
System.out.println("Decoded value is " + new String(valueDecoded));

答案 1 :(得分:1)

FIX很简单。只需在网址的末尾添加“/”

即可
return this.http.get(this.BASE_URI + '/list/email/' + email + '/')

答案 2 :(得分:0)

您可以使用:

/somepath/{variable:.+}