GitHub API는 동일한 HTTP 요청 메서드를 사용하지만 특정 작업에 대해 PATCH라는 새 메서드도 사용합니다. GitHub API는 GET을 사용하여 정보를 읽고, POST를 사용하여 새 항목을 추가하고, PATCH를 사용하여 기존 항목을 수정합니다. 이 패치 요청은 API 설명서에서 경계해야 할 일종의 요청입니다. 이렇게 하면 경로에 따라 API 호출을 만들기 위해 전체 URL이 생성됩니다. 이와 함께 도우미를 구현하는 것은 간단합니다 : Flask 및 Django 모두에서 RESTful API를 디자인하는 방법을 배우기 위해 Real Python 과정을 확인하십시오. 작은 스크립트이지만 논리를 모듈식으로 유지하고 요청을 만들기 위한 논리를 캡슐화하기 위해 함수를 정의합니다. 종종 작은 스크립트가 더 큰 스크립트로 커지므로 부지런히 하는 것이 좋습니다. 사용자 이름을 인수로 허용하는 get_repos라는 함수 추가: 일단 설치되면 필요한 라이브러리를 가져오고 호출하는 것만큼 이나 쉽습니다. SLA 도메인에 VM을 할당하는 이 시리즈 전체에서 사용하던 것과 동일한 예제를 살펴보겠습니다. 반대로 POST는 일반적으로 무언가를 만들 때 사용됩니다. 따라서 할 일 목록에 새 항목을 추가하려면 HTTP POST를 /tasks/에 트리거할 수 있습니다. 맞습니다 : REST에서 허용되는 동일한 URL입니다.

GET 및 POST의 다른 메서드는 서로 다른 동사와 같으며 URL은 명사와 같습니다. 파이썬은 json 패키지와 함께 훌륭한 JSON 지원을 제공합니다. json 패키지는 표준 라이브러리의 일부이므로 사용할 항목만 설치할 필요가 없습니다. 목록과 사전을 JSON으로 변환하고 문자열을 목록과 사전으로 변환할 수 있습니다. ISS Pass 데이터의 경우 JSON 형식의 문자열에 인코딩된 사전입니다. 이 자습서에서는 약간 다른 스타일을 가진 두 개의 서로 다른 서비스에 웹 API를 사용하는 방법을 배웠습니다. 디버깅을 더 쉽고 강력하게 만들기 위해 오류 처리 코드를 포함하는 것이 중요하다는 것을 알았습니다. Python 모듈 요청 및 json을 사용하여 해당 기술의 세부 정보를 격리하고 작업을 완료하고 스크립트를 보다 모듈화하기 위해 함수에 요청 및 응답 처리를 캡슐화했습니다.

다음으로 API가 기대하는 이름과 값을 가진 ssh_key라는 파이썬 사전을 만듭니다. 문자열은 API에 정보를 앞뒤로 전달하는 방법이지만 원하는 정보를 얻기는 어렵습니다. 파이썬에서 다시 얻고 그것으로 작업하는 문자열을 디코딩하는 방법을 어떻게 알 수 있습니까? 문자열 응답에서 ISS의 고도를 어떻게 파악할 수 있습니까? 안타깝게도 저는 JSON 대신 YAML을 사용하도록 모든 사람을 설득하는 캠페인에 실패했습니다. 이 가슴 아픈 좌절에도 불구하고, 실버 라이닝이있다 : 동일한 키 원칙은 모든 데이터 형식을 사용하여, 모든 HTTP API에 적용됩니다. GET은 일반적으로 이미 존재하는 일부 개체 또는 레코드에 대한 정보를 얻는 데 사용됩니다. 결정적으로 GET은 아무 것도 수정하지 않거나 적어도 그렇게 해서는 안 됩니다. 예를 들어 일종의 할 일 목록 웹 서비스를 상상해 보십시오. URL /작업으로 HTTP GET을 수행하여 수행할 현재 작업 목록을 얻을 수 있습니다. 따라서 DigitalOcean API는 HTTP 메서드(동사라고도 함)를 사용하여 기존 정보를 읽거나 새 정보를 만들거나 삭제할지 여부를 나타냅니다.