반응형
http 패키지는 HTTP 요청을 만들고 응답을 처리하는 편리한 방법을 제공하는 Flutter의 인기 있는 패키지입니다. 이를 통해 API와 상호 작용하고, 네트워크 요청을 보내고, 원격 서버에서 데이터를 검색할 수 있습니다.
패키지는 데이터베이스의 CRUD 와 같은 GET, POST, PUT, DELETE 등과 같은 다양한 HTTP 메서드를 지원합니다.
해당 파일을 가져오는 GET모바일 기기에서 입력한 데이터를 웹페이지 서버에 올리는 POST
- HTTP 요청 만들기: http 패키지는 get(), post(), put() 및 delete()와 같은 기능을 제공하여 다양한 유형의 HTTP 요청을 만듭니다. 이 함수는 서버에서 받은 응답을 나타내는 Future<Response>를 반환합니다.
- 응답 작업: Response 클래스는 서버에서 받은 HTTP 응답을 캡슐화합니다. 응답의 다른 부분에 대한 액세스를 제공하는 statusCode(HTTP 상태 코드), body(응답 본문) 및 headers(응답 헤더)와 같은 속성을 포함합니다.
- 헤더 및 쿼리 매개변수: 요청 함수에서 headers 및 params 매개변수를 사용하여 HTTP 요청에 대한 사용자 정의 헤더 또는 쿼리 매개변수를 설정할 수 있습니다. 헤더는 일반적으로 서버에 추가 정보를 보내는 데 사용되는 반면 쿼리 매개변수는 옵션을 필터링하거나 지정하는 데 사용됩니다.
- JSON 작업: http 패키지는 JSON 데이터 작업을 위한 편리한 방법을 제공합니다. jsonEncode() 함수를 사용하여 Dart 객체를 JSON으로 인코딩하고 jsonDecode() 함수를 사용하여 JSON을 Dart 객체로 디코딩할 수 있습니다. 이는 JSON 형식의 데이터를 교환하는 RESTful API로 작업할 때 유용합니다.
- 오류 처리: HTTP 요청을 할 때 잠재적 오류 및 실패를 처리하는 것이 중요합니다. http 패키지는 네트워크 오류, 잘못된 URL 또는 서버 오류와 같은 다양한 유형의 오류에 대해 예외를 발생시킵니다. try-catch 블록을 사용하여 이러한 예외를 처리하고 적절한 오류 처리 논리를 제공할 수 있습니다.
POST와 PUT의 차이
- POST: POST 메서드는 일반적으로 서버에 새 리소스를 생성하기 위해 서버에 새 데이터를 제출하는 데 사용됩니다. POST 요청을 하면 데이터가 요청 본문으로 서버에 전송됩니다. 그런 다음 서버는 데이터를 처리하고 요청의 성공 또는 실패를 나타내는 상태 코드와 함께 새로 생성된 리소스의 표현으로 응답합니다.
예를 들어 애플리케이션에서 새 사용자 계정을 생성할 때 일반적으로 POST 요청을 사용하여 사용자 정보(예: 이름, 이메일, 비밀번호)를 서버로 보내면 해당 서버에서 새 사용자 레코드를 생성합니다. 데이터 베이스.
- 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 |