接受URL作为参数的Rest服务

接受URL作为参数的Rest服务,rest,url,Rest,Url,我试图将一个完整的URL作为参数传递给基于java的REST服务(GET),但我不确定如何格式化它以避免“HTTP 400错误请求”。我尝试了Base64编码,但仍然得到400错误。我认为问题的一部分在于url包含一个问号“?”,因为如果我删除它并按原样传递url,这似乎没什么问题。我不确定当它被编码时有什么问题 示例url- 方法注释: @GET @Path("/{fullurl}") @Produces("application/json") public Response findByUr

我试图将一个完整的URL作为参数传递给基于java的REST服务(GET),但我不确定如何格式化它以避免“HTTP 400错误请求”。我尝试了Base64编码,但仍然得到400错误。我认为问题的一部分在于url包含一个问号“?”,因为如果我删除它并按原样传递url,这似乎没什么问题。我不确定当它被编码时有什么问题

示例url-

方法注释:

@GET
@Path("/{fullurl}")
@Produces("application/json")
public Response findByUrl(@PathParam("fullurl") String fullurl)
...
(根据前两条评论,我更新了描述,增加了一些细节)

显然,编码方法很接近,但是Base64(java或commons代码)由于任何原因(可能是长度?)都不起作用。我发现切换到Base32(公共代码)适合我的情况。

(根据前几条评论,我更新了描述,增加了一些细节)


显然,编码方法很接近,但是Base64(java或commons代码)由于任何原因(可能是长度?)都不起作用。我发现切换到Base32(公共代码)适合我的情况。

从服务器获取400错误通常意味着请求的格式不正确,或者缺少或存在不应该出现的参数或值。在大多数API中,查询参数期望非空值由参数键的等号分隔。那么,您使用哪种语言实现rest服务呢?我用.net处理程序进行了一次快速测试,它可以毫无问题地获取整个url。你能把你的密码寄出去吗?这将极大地帮助我们。从服务器获取400错误通常意味着请求的格式不正确,或者缺少或存在不应该存在的参数或值。在大多数API中,查询参数期望非空值由参数键的等号分隔。那么,您使用哪种语言实现rest服务呢?我用.net处理程序进行了一次快速测试,它可以毫无问题地获取整个url。你能把你的密码寄出去吗?这将极大地帮助我们。