gpt4 book ai didi

java - 使用 AngularJS 将 URL 中的 RequestParams 传递到 Spring MVC 后端

转载 作者:行者123 更新时间:2023-12-02 13:04:53 25 4
gpt4 key购买 nike

我的 Spring REST Controller 上有一个 URL 映射,该 Controller 期望该 URL 具有三个可选请求参数。我在下面定义的方法中使用了 @RequestParam 注释来定义三个可选参数。当我使用浏览器访问该 URL 时,该 URL 工作正常。

问题是当我尝试使用 AngularJS 服务访问相同的 URL 时。我过去曾使用过 PathVariables,但不确定如何将这些 RequestParam 变量传递到 URL 中。

angular.service :

$resource(configuration.get('wsUrlPrefix') + 'abc/xyz/:page/:size/:sortData', {}, serviceConfig)

URL 是这样的:

http://localhost:8080/abc/xyz//10?sortdata=%7B%22orderType%22:null,%22oEDistrictNbr%22:null,%22orderNumber%22:null,%22mainLine%22:null%7D

后端无法识别它。

最佳答案

这是因为您的 sortdata 参数是一个对象,例如像这样:

{ 
orderType: null,
eEDistrictNbr:null
..
}

因此,当对其进行编码时,它将变得像您的问题一样(转义字符等)

解决这个问题的一种方法是通过将对象解构为简单的原语来确保您的参数始终是字符串或数字,例如

$resource(configuration.get('wsUrlPrefix') + 'abc/xyz/:page/:size/:sortDataOrderType/:sortDataEDistricNr/...', {}, serviceConfig)

关于java - 使用 AngularJS 将 URL 中的 RequestParams 传递到 Spring MVC 后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44177888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com