REST请求失败,并带有URI编码的路径参数

时间:2019-03-07 13:30:00

标签: angularjs resteasy urlencode

我在项目(服务器javax.ws.rs.*)中使用 AngularJS (客户端)和 REST接口。我在路径参数中传递数据。它可能包含特殊字符,因此我在发送请求之前调用encodeURIComponent()对参数进行编码。

客户端

$http.put('/foo/data/' + encodeURIComponent(data) + '/bar');

控制器将处理请求并发送响应。

服务器端:

@PUT
@Path("/data/{data}/bar")
public ResultObject handleFooRequest(@PathParam("data") String data) throws Exception {
  return handleRequest(data);
}

这在localhost上工作正常,但是,当我在生产服务器上执行请求时,请求失败(错误400:错误的请求)。我在做什么错,为什么它在一台服务器上工作却在另一台服务器上失败?总的来说,我的方法正确吗?我需要告诉RESTEasy解码参数吗?据我了解(我阅读了文档),默认情况下会这样做。

0 个答案:

没有答案