angularjs - REST 请求因 URI 编码路径参数而失败
问题描述
我在我的项目(服务器, )中使用AngularJS(客户端)和REST 接口javax.ws.rs.*
。我在路径参数中传递数据。它可能包含特殊字符,因此我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 解码参数吗?据我了解(我阅读了文档),默认情况下它会这样做。
解决方案
推荐阅读
- android - 通过 android 中的意图打开谷歌地图的特定部分
- python - 与 Photoshop 相比,Python Pillow 调整大小的图像(漫画)页面细节很差
- ios - 为什么“快速编译时调试选项”会导致 CompileSwift 失败?
- c# - asp.net core 5中UseWhen和MapWhen的区别
- powershell - Powershell:将 StackOverflow 样式的编码 URL 转换为 HTML
- python - 使用 vultr 连接到已经存在的 postgres 数据库
- javascript - (discord.js)TypeError:尝试发送直接消息时无法读取未定义的属性“发送”
- c++ - 循环决策。寻找更好的方法和理解
- javascript - 将 JavaScript 代码添加到具有相同类的元素的问题
- swift - 带有掩码覆盖块滚动的 ScrollView