본문 바로가기

GIS

ArcGIS에서 RESTful API

 

 


 

 

REST API에서 가장 많이 쓰이는 HTTP 메서드는 다음과 같아:

🔹 1. GET (읽기)

  • 서버에서 데이터를 조회할 때 사용.
  • 요청할 때 body가 없음 (주로 query parameters 사용).
  • 예: GET /users → 사용자 목록 조회

🔹 2. POST (생성)

  • 새로운 데이터를 서버에 추가할 때 사용.
  • 요청 본문(body)에 데이터를 담아 전송.
  • 예: POST /users → 새 사용자 생성

🔹 3. PUT (전체 수정)

  • 기존 데이터를 완전히 덮어쓰기 할 때 사용.
  • 기존 데이터가 없으면 새로운 데이터 생성 가능.
  • 예: PUT /users/1 → id=1 사용자의 모든 정보 변경

🔹 4. PATCH (부분 수정)

  • 기존 데이터의 일부만 변경할 때 사용.
  • 예: PATCH /users/1 + { "name": "John Doe" } → id=1 사용자의 이름만 변경

🔹 5. DELETE (삭제)

  • 특정 데이터를 삭제할 때 사용.
  • 예: DELETE /users/1 → id=1 사용자 삭제

 

 


 

ArcGIS의 Feature Service API에서는 updateFeatures 작업을 수행할 때 POST 요청을 사용해야 해.

🔹 왜 PUT이나 PATCH가 아니라 POST를 사용할까?

ArcGIS의 updateFeatures 엔드포인트는 데이터를 부분적으로 업데이트할 수 있는데, 공식 문서에서도 POST 요청만 지원한다고 되어 있어.
즉, RESTful API의 일반적인 원칙과는 조금 다르게 동작하지만, ArcGIS API의 사양을 따라야 한다는 점이 중요해.

ArcGIS 공식 문서 참고:

  • updateFeatures → POST 요청 사용
  • addFeatures → POST 요청 사용
  • deleteFeatures → POST 요청 사용

ArcGIS의 API는 PUT이나 PATCH를 따로 제공하지 않기 때문에 업데이트 시에도 POST를 사용해야 하는 구조야.


🔹 결론

✅ 현재 코드에서 업데이트 시 POST 요청을 사용하는 것이 맞다.
🚀 일반적인 REST API라면 PUT (전체 수정) / PATCH (부분 수정) 사용이 더 적절하지만, ArcGIS의 updateFeatures는 POST만 지원함.