javascript - 向现有 Rest 服务添加新参数

标签 javascript java rest

我在 Java 后端有一个现有的 Rest 服务,如下所示:

@RequestMapping(value = "/service/{a}/{b}/{c}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public Response service(@PathVariable Long a, @PathVariable String b, @PathVariable String c, @RequestBody List<String> d)

它在 GUI 中被 JS 调用,如下所示:

$http.post(
'/service/'
+ a + '/'
+ b + '/'
+ c,
d)

我只需要添加一个新参数“e”,并尝试将其添加为新的路径变量:

@RequestMapping(value = "/service/{a}/{b}/{c}/{e}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public Response service(@PathVariable Long a, @PathVariable String b, @PathVariable String c, @PathVariable String e, @RequestBody List<String> d)
$http.post(
'/service/'
+ a + '/'
+ b + '/'
+ c + '/'
+ e,
d)

但是JS现在无法调用服务。据我所知,这应该可以正常工作。我错过了什么吗?

在 Tomcat 8.5 上运行代码,通过 Google Chrome 版本 78.0.3904.87 访问 GUI。控制台中出现以下错误:

Error: [$rootScope:inprog] http://errors.angularjs.org/1.4.3/$rootScope/inprog?p0=%24apply
    at angular.min.js:6
    at r (angular.min.js:127)
    at n.$apply (angular.min.js:135)
    at HTMLDivElement.<anonymous> (angular.min.js:252)
    at HTMLDivElement.dispatch (jquery.min.js:3)
    at HTMLDivElement.r.handle (jquery.min.js:3)
    at FiberInvenInfoController.fiberInfo.disconnectAllCircuits (FiberInvenInfoController.js:714)
    at n.$scope.ok (ModalServiceFiberInfo.js:428)
    at fn (eval at compile (angular.min.js:212), <anonymous>:2:197)
    at f (angular.min.js:252)
(anonymous) @ angular.min.js:108
(anonymous) @ angular.min.js:80
$apply @ angular.min.js:135
(anonymous) @ angular.min.js:252
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
FiberInvenInfoController.fiberInfo.disconnectAllCircuits @ FiberInvenInfoController.js:714
$scope.ok @ ModalServiceFiberInfo.js:428
fn @ VM866:2
f @ angular.min.js:252
$eval @ angular.min.js:134
$apply @ angular.min.js:135
(anonymous) @ angular.min.js:252
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
angular.min.js:92

POST http://.../rest/fiber/disconnectCircuits/7977/11-04-2019/user/PD 404
(anonymous) @ angular.min.js:92
n @ angular.min.js:88
f @ angular.min.js:86
(anonymous) @ angular.min.js:120
$eval @ angular.min.js:134
$digest @ angular.min.js:132
$apply @ angular.min.js:135
(anonymous) @ angular.min.js:252
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3

最佳答案

可能是 Spring 中的错误,请看这里: https://jira.spring.io/browse/SPR-6741 在 v4.1 中已修复。

关于javascript - 向现有 Rest 服务添加新参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58668559/

相关文章:

java - ParseObject 数组可以容纳的对象数量是否有限制?

c++ - 从 CPPRest 库(即 casablanca)获得的结果中提取基本 STL 字符串?

html - 触发文件下载时设置接受 header 的选项有哪些?

javascript - 为 React 模板配置 browserify

javascript - 什么时候是调用 webview.clearData 的最佳时间

java:显示数据库中的元素

java - 如何从任何文本中识别字体类型

amazon-web-services - 使用 PostMan 上传多部分 Amazon S3 Rest API 时出现问题

Javascript 嵌套循环与 setTimeout

javascript - 麦克风到扬声器流 (JS)