Skip to content

unshift-devs/xyz-angular-swapi

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

AngularJS service for Star Wars API

An AngularJS service wrapping Stars Wars API (swapi.co), inspired by SWAPI-Wrapper by Raymond Camden.

The service is completly promise oriented and offers access to swapi.co from AngularJS applications.

The xyz.angular.swapi modules comes with one angular constant swapiEndpoints, used internally by the main service swapiService.

To use the service just import the module in your AngularJS application and inject the swapiService whre required.

In your javascript:

// include the module
angular.module('myStarWarsApp', ['xyz.angular.swapi']).

controller('jediController', ['swapiService', 
  function($scope, swapiService) {
    // get luke skywalker data
    swapiService.peope('1').
    then(function(lukeData){
      $scope.luke = lukeData;
    });
  }
])

Inside your view template:

<ul>
  <li>Name: {{luke.name}}</li>
  <li>Eyes color: {{luke.eye_color}}</li>
  <li>Skin color: {{luke.skin_color}}</li>
</ul>

Installation

The module can be installed from bower:

$ bower install xyz-angular-swapi --save

from npm:

$ npm install xyz-angular-swapi --save

or downloading directly the minified version.

Service API

For every end-point exposed by swapi.com 3 methods are available:

  • get specific resource by type and id
  • get all resources for a given type
  • get JSON Schema for a given type

Complete API, all methods return a promise.

film

  • film(id) return one film
  • films([page]) return all films paginated. If no page is passed defaults to 1.
  • filmSchema() return the JSON Schema for the film resource

people

  • person(id) return one person
  • people([page]) return all people paginated. If no page is passed defaults to 1.
  • peopleSchema() return the JSON Schema for the people resource

planets

  • planet(id) return one planet
  • planets([page]) return all planets paginated. If no page is passed defaults to 1.
  • planetSchema() return the JSON Schema for the planet resource

species

  • singleSpecies(id) return one species
  • species([page]) return all species paginated. If no page is passed defaults to 1.
  • speciesSchema() return the JSON Schema for the species resource

starships

  • starship(id) return one starship
  • starships([page]) return all starships paginated. If no page is passed defaults to 1.
  • starshipSchema() return the JSON Schema for the starship resource

vehicles

  • vehicle(id) return one vehicle
  • vehicles([page]) return all vehicles paginated. If no page is passed defaults to 1.
  • vehicleSchema() return the JSON Schema for the vehicle resource

additional methods

  • resources() return the available REST resources
  • resource(url) load a valid REST resource url, not only from swapy.com

Work in progress

An integration with the local storage has been already done but has external dependencies. Will be added as soon as we can remove all dependencies.

About

AngularJS wrapper to consume swapi.co API

Resources

Stars

Watchers

Forks

Packages

No packages published