练习 - 使用 GitHub Copilot 更新 Web API
让我们探讨如何使用 API 终结点的高级 GitHub Copilot 技术修改 Python 存储库。 使用此存储库获取更实用的体验,该存储库包含托管旅行天气 API 的 Python Web 应用程序。
什么是 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 Chat 帮助你处理刚刚创建的此特定 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 中完成练习后,请返回此处完成以下内容:
- 快速知识检查
- 浏览已学习内容的摘要
- 完成此模块的徽章