PunkAPI
这是围绕 @samjbmason 的 PunkAPI v2 的包装,您可以在 https://punkapi.com/ 找到更多关于这些 API 的信息。
您有没有想过以编程方式搜索 Brewdog 海量啤酒目录?或许创建一个可以搭配食物的啤酒工具,或者搜索 av 值超过 4% 的啤酒?现在,您的愿望已经实现!
Punk API 将 Brewdog 的 DIY Dog 转换成可搜索、可过滤的 API,完全免费且开源。
示例
要运行示例项目,首先克隆仓库,然后在 Example 目录下运行 pod install
。
使用方法
let punkApi = PunkApi(configuration: .default)
punkApi.get(RandomBeerRequest(), queue: .main) { beersResult in }
punkApi.get(BeerRequest(id: 1), queue: .main) { beersResult in }
punkApi.get(RandomBeerRequest(), queue: .main) { beersResult in }
punkApi.get(BeersRequest(filter: [.abv(condition: .more, value: 3),
.beerName(value: "Punk")]),
queue: .main) { beersResult in }
API
RandomBeerRequest()
获取随机啤酒请求
punkApi.get(RandomBeerRequest(), queue: .main) { beersResult in }
BeerRequest(id: 1)
根据给定ID获取啤酒
punkApi.get(BeerRequest(id: 1), queue: .main) { beersResult in }
BeersRequest(filter: [BeersRequest.Parameter.beerName(value: "Punk IPA")])
获取匹配传入选项的啤酒,如果未传入选项,将按ID升序返回所有啤酒。
punkApi.get(RandomBeerRequest(), queue: .main) { beersResult in }
选项
BeersRequest.Parameter.abv(condition: .more, value: 3)
条件:Condition
值:Float
将返回ABV值高于或低于传入值的啤酒。
BeersRequest.Parameter.ibu(condition: .more, value: 3)
条件:Condition
值:Float
将返回IBU值高于或低于传入值的啤酒。
BeersRequest.Parameter.ebc(condition: .more, value: 3)
条件:Condition
值:Float
将返回EBC值高于或低于传入值的啤酒。
BeersRequest.Parameter.beerName(value: "Punk")
值:String
将返回与提供的字符串相匹配的啤酒(我们使用模糊匹配来查找名称)。
BeersRequest.Parameter.yeast(value: "American Ale")
值:String
将返回与提供的酵母名称相匹配的啤酒(我们使用模糊匹配来查找酵母名称)。
BeersRequest.Parameter.brewed(condition: .more, value: 3)
条件:Condition
值:Date
将返回在提供的日期之前或之后酿造的啤酒。
BeersRequest.Parameter.hops(value: "Ahtanum")
值:String
将返回与提供的酒花名称相匹配的啤酒(我们使用模糊匹配来查找酒花名称)。
BeersRequest.Parameter.malt(value: "Extra Pale")
值:String
将返回与提供的麦芽名称相匹配的啤酒(我们使用模糊匹配来查找麦芽名称)。
BeersRequest.Parameter.food(value: "Cheesecake")
值: 字符串
将返回匹配传入字符串(我们使用模糊匹配来查找食物)的啤酒。
BeersRequest.Parameter.ids(value: [1, 2, 4, 6])
值: 整数数组
将返回匹配给定 ID 的啤酒。
安装
PunkAPI 可通过 CocoaPods 获取。要安装它,只需在您的 Podfile 中添加以下行即可:
pod 'PunkAPI'
作者
许可
PunkAPI 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。