Json WSO2不允许'@';符号作为方法中的输入参数

Json WSO2不允许'@';符号作为方法中的输入参数,json,curl,wso2,wso2-am,wso2carbon,Json,Curl,Wso2,Wso2 Am,Wso2carbon,每当我输入@符号时,我都会得到一个错误,而不是我所期望的角色的空列表。方法是roles(),URL的最后一部分是输入参数。我需要使用@符号,因为我想使用电子邮件地址作为输入参数 终端命令:curl--header'Accept:application/json'--header '授权:持有人b85f73f2-f2fb-3a92-9066-d0af4d6a50eb' “”输出: {“角色”:[]} 带有“@”符号的终端命令:curl--header“Accept: 应用程序/json'--hea

每当我输入@符号时,我都会得到一个错误,而不是我所期望的角色的空列表。方法是
roles()
,URL的最后一部分是输入参数。我需要使用@符号,因为我想使用电子邮件地址作为输入参数

终端命令:curl--header'Accept:application/json'--header '授权:持有人b85f73f2-f2fb-3a92-9066-d0af4d6a50eb' “”输出: {“角色”:[]}

带有“@”符号的终端命令:curl--header“Accept: 应用程序/json'--header'授权:承载 b85f73f2-f2fb-3a92-9066-d0af4d6a50eb' “”输出: 404状态 报表运行时 Error找不到给定的匹配资源 API请求

你知道如何修改API以允许@符号作为输入参数吗? 我尝试过更改
carbon.xml
&
用户管理.xml
,但没有成功


非常感谢您的帮助。谢谢。

这里的问题是,您没有对发送的数据进行URL编码。如果使用curl调用API,请按如下所示更改curl命令:

curl -G --header 'Accept: application/json' --header 'Authorization: Bearer b85f73f2-f2fb-3a92-9066-d0af4d6a50eb' 'https://apitst.linkedsystems.uk/account/v1/user/roles/oeoe@' -k

用新的令牌替换令牌值,这样就可以了

这里的问题是,您没有对发送的数据进行URL编码。如果使用curl调用API,请按如下所示更改curl命令:

curl -G --header 'Accept: application/json' --header 'Authorization: Bearer b85f73f2-f2fb-3a92-9066-d0af4d6a50eb' 'https://apitst.linkedsystems.uk/account/v1/user/roles/oeoe@' -k

用新的令牌替换令牌值,这样就可以了

您有两个选项可以在API中使用“@”符号

  • 在URL中使用@符号的编码值。如果您有一个定义为“/user/{email}”的API,则必须使用curl命令为@符号提供百分比编码值 ex:curl——标题“接受:应用程序/json”


  • 例如:curl——标题“Accept:application/json”

    在API中使用“@”符号有两个选项

  • 在URL中使用@符号的编码值。如果您有一个定义为“/user/{email}”的API,则必须使用curl命令为@符号提供百分比编码值 ex:curl——标题“接受:应用程序/json”

  • ex:curl——标题“接受:应用程序/json”