【问题标题】:(Spring MVC) How to retrieve multiple objects from Rest API(Spring MVC) 如何从 Rest API 检索多个对象
【发布时间】:2017-10-18 09:03:42
【问题描述】:

我目前正在使用 angularJS 作为我的前端,并且我正在将 REST 调用传递给 spring MVC 以删除多个对象

在我的角度函数中,我有一个方法会返回 "localhost:9000/api/departments/deleteSelectedDepartments/1517,1518"

   deleteSelectedDepartments(selectedDepartments: any): Observable<ResponseWrapper> {

    var id = "";
    var index = 0;

    for(const key in selectedDepartments) {
        if(index == (Object.keys(selectedDepartments).length - 1)) {
            id += key;
        } else {

            id += key;
            id += ",";
        }
        index++;
    }

    return this.http.delete(`${this.resourceDeleteDepartmentsUrl}/${id}`);
}

1517 和 1518 代表部门 ID。

但是,我在 Spring MVC 中收到错误,我不完全确定如何正确接收对象。

目前在我的 DepartmentResource.java (spring mvc)

@DeleteMapping("/departments/deleteSelectedDepartments/{ids}")
@Timed
public ResponseEntity<Void> deleteSelectedDepartments(@PathVariable String ids) {
    log.debug("REST request to delete Department : {}", ids);
    return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, "blank")).build();
}

我收到的错误消息是找不到错误 404。

DELETE http://localhost:9000/api/departments/deleteSelectedDepartments/1589,1590 404 (Not Found)

如果有更好的做事方式,请指教!谢谢!

【问题讨论】:

  • 你能显示你的控制器类的顶部吗
  • 嗨@shazin,我已经包含了整个函数。如果我做事的方式不是很规范,我很抱歉。刚开始。

标签: spring angular rest model-view-controller


【解决方案1】:

您的映射错误。您所拥有的不是请求参数(URL 将是 /api/departments/deleteSelectedDepartments?departmentIds=1517,1518)。

你有一个路径变量:

@DeleteMapping("/departments/deleteSelectedDepartments/{departmentIds}")
@Timed
public ResponseEntity<Void> deleteSelectedDepartments(@PathVariable String departmentIds) {

【讨论】:

  • 抱歉,我再次尝试了,错误消失了。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多