petfinder-angular-service
用于与 petfinder API 一起使用的 Angular 服务
npm i --save petfinder-angular-service

petfinder-angular-service

配置

为了使服务正常工作,您需要在您的 @NgModule 导入中添加一个 HttpModule

对于 NativeScript 使用 NativeScriptHttpClientModule

import { NativeScriptHttpClientModule } from 'nativescript-angular/http-client';
@NgModule({
...
imports: [
...
NativeScriptHttpClientModule
],

对于 Web 使用 HttpClientModule

import { HttpClientModule } from '@angular/common/http';
@NgModule({
...
imports: [
...
HttpClientModule
],

API 密钥

您还需要从这里获取一个 petfinder api key

当您获得密钥后,您需要使用来自 petfinder-angular-serviceAPI_KEY_TOKEN InjectionToken 将其提供给 @NgModule providers

import { PetFinderService, API_KEY_TOKEN } from 'petfinder-angular-service';

@NgModule({
...
providers: [
...
{ provide: API_KEY_TOKEN, useValue: 'your-key-here' },
PetFinderService
],

使用示例

要使用服务,只需导入所需的模块

import { PetFinderService } from "petfinder-angular-service";
import { Pet } from "petfinder-angular-service/models";

然后在构造函数中注入服务

constructor(private petFinderService: PetFinderService) { }

然后要获取宠物列表,调用

this.petFinderService.findPets('Boston, MA')
.then((pets: Pet[]) => {
// Deal with the pets here
console.log(JSON.stringify(pets));
})

或者使用搜索选项

this.petFinderService.findPets(
'Boston, MA',
{ age: 'Baby', size: 'M' })
.then((pets: Pet[]) => {
// Deal with the pets here
console.log(JSON.stringify(pets));
})

API

breedList(animal: string): Promise<string[]>

  • 返回特定动物的品种列表。
  • @param animal 动物类型 (barnyard, bird, cat, dog, horse, pig, reptile, smallfurry):为了安全起见,请使用 Options.animal 中的值

getPet(id: string | number): Promise<Pet>

  • 返回单个宠物的记录。
  • @param id

getRandomPetId(options: RandomSearchOptions = {}): Promise<number>

  • 返回随机选择的宠物的 ID。您可以使用此方法的各个参数来选择您想要的宠物特征。
  • @param options 一组随机搜索选项,包括:animal, breed, location, sex, shelterId, size

getRandomPet(options: RandomSearchOptions = {}, provideDescription: boolean = true): Promise<Pet>

  • 返回随机选择的宠物的记录。您可以使用此方法的各个参数来选择您想要的宠物特征。
  • @param options 一组搜索选项,包括:animal, breed, location, sex, shelterId, size
  • @param provideDescription 决定是否提供宠物描述

findPets(location: string, options: PetSearchOptions = {}): Promise<Pet[]>

  • 根据您提供的标准搜索宠物,并返回与您的搜索匹配的宠物记录集合。
  • 结果将包含最多 count 条记录,并有一个 lastOffset 标签。
  • 要检索下一个结果集,请使用 lastOffset 值作为下一个 pet.find 调用的偏移量。
  • @param location 动物所在的 ZIP/邮政编码或城市和州 (NOTE: 将选择最近的动物)
  • @param options 一组搜索选项,包括:age, animal, breed, count, offset, output, sex, shelterId, size

findShelterPets(id: string | number, options: ShelterPetSearchOptions = {}): Promise<Pet[]>

  • 返回单个收容所的宠物记录列表。
  • @param id 收容所 ID (e.g. NJ94)
  • @param options 一组搜索选项,包括:count, offset, output, status

findShelters(location: string, options: ShelterSearchOptions = {}): Promise<Shelter[]>

  • 返回与您的搜索标准匹配的收容所记录集合。
  • @param location 搜索开始的ZIP/邮政编码或城市和州
  • @param options 一组搜索选项,包括:count, name, offset

getShelter(id: string | number): Promise

  • 返回单个庇护所的记录。
  • @param id 收容所 ID (e.g. NJ94)

findSheltersByBreed(animal:string, breed: string, options: ShelterSearchByBreedOptions = {}): Promise

  • 返回一个庇护所列表,列出特定品种的动物。
  • 警告:不返回庇护所名称!
  • @param animal 动物类型,有效值:barnyard, bird, cat, dog, horse, pig, reptile, smallfurry。要使用安全值列表,请使用Options.animal
  • @param breed 动物品种,使用breedList()获取有效品种列表
  • @param options 一组搜索选项,包括:count, offset