2017-10-18 85 views
0

多個對象,我目前使用angularJS作爲我的前端,而我傳遞REST調用Spring MVC中刪除多個對象(Spring MVC的)如何從REST API

在我的角度的功能,我將返回 的方法 「本地主機:9000/API /部門/ 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。

然而,我「M個接收我的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) 

如果有一個更好的方式去做事,請指教!謝謝!

+0

你能告訴你的控制器類 – shazin

+0

HI @shazin的頂部,我已經包括了整個功能。我很抱歉,如果我的做事方式不是很規範,剛開始的時候 – DoubleClickOnThis

回答

1

您的映射錯誤。你有什麼不是請求參數(該URL將是/api/departments/deleteSelectedDepartments?departmentIds=1517,1518)。

你有什麼是路徑變量:

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

我的歉意,我再次嘗試過,錯誤消失了,謝謝! – DoubleClickOnThis