SpringMVC 에서@PathVariable 바 인 딩 경로 의 배열 을 사용 하 는 방법

문제 설명
대량 삭제 기능 을 개발 할 때 여러 개의 데이터 가 있 기 때문에 프론트 데스크 에 하나의 배열 을 백 엔 드 에 전달 해 야 합 니 다.그런데 어떻게URL에서 하나의 배열 을 연결 하고 백 엔 드 에서@PathVariable로 연결 합 니까?
본래 의 방법
배경:

프론트 데스크:

이전 프로젝트 의 캡 처 였 습 니 다.바로 가 져 왔 습 니 다!!😁😁😁
백 스테이지 에 서 는@RequestBody 로 배열 을 받 습 니 다.하지만 프론트 데스크 에 서 는 request 요청 을 보 내야 합 니 다.요청 방법의 유형 delete 를 보 내 고 body 를 보 내야 합 니 다.그러나 부 드 러 운 프로젝트 를 쓸 때 장 희 석 팀장 은 이렇게 쓰 는 것 이 좋 지 않다 고 말 했 습 니 다.url 에 배열 을 연결 하고 프론트 데스크 에 서 는 쉼표 로 구분 해 야 합 니 다.
delete 방법 은 실 체 를 전송 하 는 것 을 권장 하지 않 는 주체 입 니 다.
delete 요청 은 서버 에 요청 한 URI(통합 자원 식별 자,Uniform Resource Identifier)로 표 시 된 자원 을 삭제 하 는 데 사 용 됩 니 다.DELETE 요청 후 지정 한 자원 이 삭 제 됩 니 다.
어떻게 해결 해 야 하나 요?어떻게url에 배열 을 연결 합 니까?
해결 방법
배경:

 @DeleteMapping("{clusterNodeId}/hosts/{hostsId}")
 public void deleteClusterNodeByHostList(@PathVariable Long clusterNodeId, @PathVariable Long[] hostsId) {
  clusterNodeService.deleteClusterNodeByHostList(clusterNodeId, hostsId);
 }
url에서 배열 을 받 고@PathVariable로 이 배열 을 연결 합 니 다.
프론트 데스크:

public deleteClusterNodeByHostList(
  clusterNodeId: number,
  hostsId: any[]): Observable<ClusterNode> {
  return this.http.delete(`${this.baseUrl}/${clusterNodeId.toString()}/hosts/${hostsId.join(',')}`);
 }
join 을 사용 하여 배열 을 처리 하고 쉼표 로 분리 하여 배경 에 전달 합 니 다.
url:

배경 수신:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기