연습 - GitHub Copilot을 사용하여 웹 API 업데이트

완료됨

고급 GitHub Copilot 기술을 사용하여 API 엔드포인트에 대한 Python 리포지토리를 수정하는 방법을 살펴보겠습니다. Travel Weather API를 호스트하는 Python 웹 애플리케이션을 포함하는 이 리포지토리를 사용하여 보다 실용적인 경험을 얻을 수 있습니다.

API란?

API는 서로 다른 애플리케이션이 서로 통신할 수 있도록 하는 중개자 역할을 합니다. 예를 들어 날씨 웹 사이트는 과거 데이터를 공유하거나 API를 통해 예측 기능을 제공할 수 있습니다. API를 사용하여 웹 사이트에 데이터를 포함하거나 날씨 데이터를 다른 기능과 공유하는 애플리케이션을 만들 수 있습니다.

Web API 확장

현재 API는 도시를 나열하기 위해 구현해야 하는 국가/지역을 노출하지 않습니다. 경로는 해당 국가/지역, 도시 및 지정된 달에 대한 기록 높음 및 최저값의 정보를 제공하는 JSON 응답이 있는 GET HTTP 요청만 허용해야 합니다.

참고 항목

이 연습에서는 브라우저에서 사전 구성된 환경이 포함된 Codespace를 사용합니다.

1단계: 새 경로 추가

main.py 파일을 열고 Ctrl+i(Windows) 또는 Command+i(Mac) 명령을 사용해 인라인 채팅을 사용합니다. 이 명령은 GitHub Copilot에게 국가/지역의 도시를 보여 주는 새 API를 만들도록 요청합니다. 다음 프롬프트를 사용합니다.

Create a new route that exposes the cities of a country/region.

이 프롬프트는 다음과 유사한 항목을 제공해야 합니다.

# Create a new route that exposes the cities of a country:
@app.get('/countries/{country}')
def cities(country: str):
    return list(data[country].keys())

참고 항목

새 경로를 시도하고 원하는 결과가 나올 때까지 프롬프트를 구체화합니다.

2단계: 테스트 만들기

이제 새 경로를 만들었으므로 스페인을 국가/지역으로 사용하는 이 경로에 대한 Copilot Chat을 사용하여 테스트를 만듭니다. 코드를 선택하고 Copilot 채팅에 방금 생성한 특정 API에 대한 도움을 요청하세요. 다음 프롬프트와 함께 인라인 채팅 또는 전용 채팅 창을 사용할 수 있습니다.

/tests help me to create a new test for this route that uses Spain as the country/region.

Copilot이 테스트를 만드는 데 도움을 주면 직접 사용해보세요. 이것이 예상대로 작동하지 않는 경우 채팅에서 Copilot과 해당 세부 정보를 자유롭게 공유할 수 있습니다. 예시:

This test is not quite right, it is not including cities that doesn't exist. Only Seville is part of the API.

3단계: 에이전트를 사용하여 문서 작성

마지막으로, @workspace 에이전트를 사용하여 프로젝트 설명서와 프로젝트 자체를 실행하는 방법에 대한 세부 정보를 작성합니다. README.md 파일을 열고 GitHub Copilot Chat에서 다음 프롬프트를 사용합니다.

@workspace I want to document how to run this project so that other developers can get started quickly by reading the README.md file.

프로젝트를 실행하는 데 필요한 정보로 README.md 파일을 업데이트하는 데 도움이 되는 응답을 받아야 합니다.

이 연습을 완료한 것을 축하합니다. GitHub Copilot을 사용하여 새로운 API 경로를 생성한 다음, 정확성을 확인하기 위한 테스트를 작성했습니다. 마지막으로, 개발자가 이 프로젝트를 실행하는 방법을 이해하는 데 도움이 되는 에이전트를 사용하여 설명서를 추가했습니다.

GitHub에서 연습을 마친 후 여기로 돌아와서 다음을 수행하세요.

  • 빠른 지식 점검
  • 학습한 내용 요약
  • 이 모듈 완료 배지