Flutter delete method (feat. firebase)

강정우·2023년 6월 6일
0

Flutter&Dart

목록 보기
50/88
post-thumbnail

Rest API delete method

  • 뭐 사실 Rest API는 백엔드와 함께 결정하여 CRUD등 다른 메서드들을 어떻게 만들어갈 것인지 API 명세에 따라 다르지만 여기서는 firebase의 API 명세에 따라 작성하도록 하겠다.

  • 즉, 원래는 delete 메서드에 바디를 추가하고 헤더를 설정할 수 있지만 여기서는 추가 메타데이터가 필요하지 않다.

remove 메서드 작성

url 선언

  • 여기서는 특성 url을 http 객체에 delete 메서드를 선언하여 삭제한다.
final url = Uri.https(
  'react-http-e4fe2-default-rtdb.asia-southeast1.firebasedatabase.app',
  'shopping-list/${item.id}.json',
);

추가 로드 사항

  • 또한 만약 당신이 삭제 메서드 이후에 어떠한 로직을 실행해야한다면 역시 async, await 또한 사용 가능하다.

  • 다만 위 코드에서는 사용할 필요가 없는 것이 따로 local 메모리에서 삭제를 하고 있기 때문에 동기처럼 처리할 필요가 없다는 것이다.

reaction

  • 하지만 또 반전이 있다. 위처럼 local과 server를 따로 하면 load 때문에 다시 한 번 http req를 할 필요가 없다는 장점이 있지만,
    문제는 server가 문제가 생겼을 때 local은 정상적으로 삭제되지만 새로고침을 했을 땐 server에는 남아있기 때문에 삭제가 되었던 것이 다시 돌아온다. 이는 사용자로 하여금 혼란을 야기한다. 그래서 server에 정상적으로 삭제되었는지 확인이 필요하며 이때만 local에서도 삭제하는 것이 좋다.

profile
智(지)! 德(덕)! 體(체)!

0개의 댓글

관련 채용 정보