导入
获取可用的筛选项(orientation)
学习如何获取数据库中可用的类别、菜系和食材列表。
TheMealDB API 提供了多种过滤器,可用于筛选可用的菜品。在本节课中,我们将学习如何获取可用于筛选菜品的列表项。
获取列表
我们通过基础 URI https://www.themealdb.com/api/json/v1/1/list.php 来获取可用于筛选菜品的列表项。
该端点提供三种类型的列表,分别是:
- 菜品分类列表
- 菜系列表
- 食材列表
请求参数
我们可以使用以下任一查询参数与该端点配合使用:
| 参数 | 类型 | 可选性 | 说明 |
|---|---|---|---|
| c | 字符串 | 可选 | 用于获取响应中的所有可用分类 |
| a | 字符串 | 可选 | 用于获取可用菜系的列表 |
| i | 字符串 | 可选 | 用于获取数据库中所有可用的食材 |
注意: 必须至少使用上述其中一个参数调用此端点。如果未传入任何查询参数,将返回错误。
使用参数 c 可以获取可用分类的列表。c 的值应设为 list。下方小工具包含获取该列表的代码示例。
1const endpointUrl = new URL('https://www.themealdb.com/api/json/v1/1/list.php'); 2 3const queryParameters = new URLSearchParams({ 4 c: 'list' 5}); 6 7const options = { 8 method: 'GET' 9}; 10 11async function fetchLists() { 12 try { 13 endpointUrl.search = queryParameters; 14 const response = await fetch(endpointUrl, options); 15 16 printResponse(response); 17 } 18 catch (error) { 19 printError(error); 20 } 21} 22 23fetchLists();
对上述代码的简要说明如下:
- 第 1 行: 定义端点的 URL。
- 第 3–9 行: 定义查询参数和 HTTP 请求类型。
- 第 11–21 行: 定义
fetchLists()函数,用于调用端点并打印响应结果。 - 第 23 行: 调用
fetchLists()函数。
若将第 4 行中的查询参数 c 替换为 a,即可获取可用菜系的列表。
同理,若将第 4 行中的 c 替换为 i,则会返回可用食材的列表。我们可以利用返回的食材列表来根据食材筛选可用的菜品。
响应字段
下表列出了该端点返回的重要响应字段:
| 响应字段 | 关联查询参数 | 类型 | 说明 |
|---|---|---|---|
| strCategory | c | 字符串 | 分类名称,可用于筛选特定类型的菜品 |
| strArea | a | 字符串 | 可用的菜系 |
| IDIngredient | i | 整数 | API 分配的食材 ID |
| strIngredient1 | i | 字符串 | API 提供的食材名称 |
| strDescription | i | 字符串 | 关于该食材的描述信息 |