Film Methods - adampresley/swapi-go GitHub Wiki

The Films methods return information about films in the Star Wars universe. Below are links to more information about the RESTful API, as well as documentation for the structures and each method.

Structures

type Film struct {
	errors.Error

	Characters   []string `json:"characters"`
	Created      string   `json:"created"`
	Director     string   `json:"director"`
	Edited       string   `json:"edited"`
	EpisodeId    int      `json:"episode_id"`
	OpeningCrawl string   `json:"opening_crawl"`
	Planets      []string `json:"planets"`
	Producer     string   `json:"producer"`
	Species      []string `json:"species"`
	Starships    []string `json:"starships"`
	Title        string   `json:"title"`
	Url          string   `json:"url"`
	Vehicles     []string `json:"vehicles"`
}

type FilmCollection struct {
	errors.Error

	collection.SWAPIResultCollection
	Results []Film `json:"results"`
}

Methods

GetAllFilms

Description: Returns a collection of Film structures in the form of a FilmCollection structure.

Returns: FilmCollection structure, HTTP status code, error

Example:

package main

import (
	"log"

	"github.com/adampresley/swapi-go/swapi"
)

func main() {
	client := swapi.NewClient()
	films, status, err := client.GetAllFilms()

	if err != nil {
		log.Fatalf("Cannot get films: %s", err.Error())
	}

	if status != 200 {
		log.Println("HTTP error with message", result.ErrorMessage)
	}

	/*
	 * Iterate over the results and do something useful
	 */
	for _, film := range films.Results {
		// useful
	}
}

GetFilmById

Description: Returns a single Film structure by ID.

Returns: Film structure, HTTP status code, error

Example:

package main

import (
	"log"

	"github.com/adampresley/swapi-go/swapi"
)

func main() {
	client := swapi.NewClient()
	film, status, err := client.GetFilmById(1)

	if err != nil {
		log.Fatalf("Cannot get film: %s", err.Error())
	}

	if status != 200 {
		log.Println("HTTP error with message", result.ErrorMessage)
	}

	// Do something useful with film
}
⚠️ **GitHub.com Fallback** ⚠️