导入
获取可用的筛选列表
学习如何获取可用类别、眼镜、配料和酒精过滤器的列表。
TheCocktailDB API 提供了多种过滤器,可用于缩小所有可用鸡尾酒的范围。在本节中,我们将学习如何获取可用于筛选鸡尾酒的值列表。
获取列表
TheCocktailDB API 提供了一个端点,用于获取可用于筛选鸡尾酒的项目列表。该端点的基础 URI 为 https://www.thecocktaildb.com/api/json/v1/1/list.php。此端点提供四种类型的列表:
- 类别列表
- 酒杯列表
- 配料列表
- 酒精类型过滤列表
请求参数
我们可以使用以下任一查询参数与该端点配合使用:
| 参数 | 类型 | 可选性 | 描述 |
|---|---|---|---|
| c | 字符串 | 可选 | 用于获取所有可用的类别 |
| g | 字符串 | 可选 | 用于获取数据库中所有可用的酒杯 |
| i | 字符串 | 可选 | 用于获取数据库中所有可用的配料 |
| a | 字符串 | 可选 | 用于获取所有可用的酒精类型过滤项 |
注意: 必须至少使用上述一个参数调用此端点。若不带任何查询参数调用,将返回错误。
每个由 API 提供的饮品都属于特定类别。我们可以使用查询参数 c 来获取可用类别的列表。c 的值应设为 list。下方的代码示例展示了如何获取该列表。
1const endpointUrl = new URL('https://www.thecocktaildb.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 替换为 g。
当查询参数 i 与 https://www.thecocktaildb.com/api/json/v1/1/list.php 结合使用时,可获取数据库中所有可用配料的列表。i 的值也应为 list。以下代码演示了如何获取可用配料列表。
1const endpointUrl = new URL('https://www.thecocktaildb.com/api/json/v1/1/list.php'); 2 3const queryParameters = new URLSearchParams({ 4 i: '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();
此处已将第 4 行中的查询参数 c 替换为 i。
我们还可以根据饮品是否含酒精进行筛选。通过将第 4 行中的 i 替换为 a,可以获取酒精类型过滤项的列表。
响应字段
下表列出了 drinks 数组中返回的重要响应字段:
| 响应字段 | 关联查询参数 | 类型 | 描述 |
|---|---|---|---|
| strCategory | c | 字符串 | 类别名称,可用于筛选特定类型的饮品 |
| strGlass | g | 字符串 | 该端点获取的酒杯名称 |
| strIngredient1 | i | 字符串 | API 提供的配料名称 |
| strAlcoholic | a | 字符串 | 酒精类型过滤项名称 |