본문 바로가기

Flutter-플러터/플러터 공부

Flutter http 간단 요약

반응형

http 패키지는 HTTP 요청을 만들고 응답을 처리하는 편리한 방법을 제공하는 Flutter의 인기 있는 패키지입니다. 이를 통해 API와 상호 작용하고, 네트워크 요청을 보내고, 원격 서버에서 데이터를 검색할 수 있습니다.

 

패키지는 데이터베이스의 CRUD 와 같은  GET, POST, PUT, DELETE 등과 같은 다양한 HTTP 메서드를 지원합니다.

 

해당 파일을 가져오는 GET모바일 기기에서 입력한 데이터를 웹페이지 서버에 올리는 POST

 

 

 

 

  1. HTTP 요청 만들기: http 패키지는 get(), post(), put() 및 delete()와 같은 기능을 제공하여 다양한 유형의 HTTP 요청을 만듭니다. 이 함수는 서버에서 받은 응답을 나타내는 Future<Response>를 반환합니다.
  2. 응답 작업: Response 클래스는 서버에서 받은 HTTP 응답을 캡슐화합니다. 응답의 다른 부분에 대한 액세스를 제공하는 statusCode(HTTP 상태 코드), body(응답 본문) 및 headers(응답 헤더)와 같은 속성을 포함합니다.
  3. 헤더 및 쿼리 매개변수: 요청 함수에서 headers 및 params 매개변수를 사용하여 HTTP 요청에 대한 사용자 정의 헤더 또는 쿼리 매개변수를 설정할 수 있습니다. 헤더는 일반적으로 서버에 추가 정보를 보내는 데 사용되는 반면 쿼리 매개변수는 옵션을 필터링하거나 지정하는 데 사용됩니다.
  4. JSON 작업: http 패키지는 JSON 데이터 작업을 위한 편리한 방법을 제공합니다. jsonEncode() 함수를 사용하여 Dart 객체를 JSON으로 인코딩하고 jsonDecode() 함수를 사용하여 JSON을 Dart 객체로 디코딩할 수 있습니다. 이는 JSON 형식의 데이터를 교환하는 RESTful API로 작업할 때 유용합니다.
  5. 오류 처리: HTTP 요청을 할 때 잠재적 오류 및 실패를 처리하는 것이 중요합니다. http 패키지는 네트워크 오류, 잘못된 URL 또는 서버 오류와 같은 다양한 유형의 오류에 대해 예외를 발생시킵니다. try-catch 블록을 사용하여 이러한 예외를 처리하고 적절한 오류 처리 논리를 제공할 수 있습니다.

 

 

POST와 PUT의 차이 

 

  1. POST: POST 메서드는 일반적으로 서버에 새 리소스를 생성하기 위해 서버에 새 데이터를 제출하는 데 사용됩니다. POST 요청을 하면 데이터가 요청 본문으로 서버에 전송됩니다. 그런 다음 서버는 데이터를 처리하고 요청의 성공 또는 실패를 나타내는 상태 코드와 함께 새로 생성된 리소스의 표현으로 응답합니다.

예를 들어 애플리케이션에서 새 사용자 계정을 생성할 때 일반적으로 POST 요청을 사용하여 사용자 정보(예: 이름, 이메일, 비밀번호)를 서버로 보내면 해당 서버에서 새 사용자 레코드를 생성합니다. 데이터 베이스.

  1. PUT: PUT 메서드는 서버의 기존 데이터를 업데이트하는 데 사용됩니다. 지정된 URL에서 기존 리소스를 대체해야 하는 리소스의 완전한 표현을 보냅니다. 리소스가 존재하지 않는 경우 'PUT'을 사용하여 특정 식별자로 새 리소스를 생성할 수도 있습니다.

PUT 요청을 할 때 업데이트된 데이터를 요청 본문으로 보냅니다. 그런 다음 서버는 요청을 처리하고, 리소스가 있는 경우 리소스를 업데이트하고, 요청의 성공 또는 실패를 나타내는 상태 코드로 응답합니다.

예를 들어 사용자 정보를 나타내는 /users/{id} 엔드포인트가 있는 경우 PUT 요청을 사용하여 해당 사용자에 대한 업데이트된 데이터를 서버로 전송하여 사용자의 세부 정보를 업데이트할 수 있습니다.

요약하면 POST와 PUT의 주요 차이점은 의도된 목적입니다.

  • POST는 서버에 새 리소스를 생성하는 데 사용됩니다.
  • PUT은 서버의 기존 리소스를 업데이트하거나 교체하는 데 사용됩니다.

 

반응형

'Flutter-플러터 > 플러터 공부' 카테고리의 다른 글

Flutter 앱 빌드 하기  (0) 2023.07.15
IntroScreen 패키지  (0) 2023.07.12
RestAPI - http 패키지  (0) 2023.07.04
Provider context.read와 context watch 의 차이점  (0) 2023.06.27
코딩초보가 이해한 상태관리  (0) 2023.06.27