Link Search Menu Expand Document

APIs

The term Application Programming Interface or API is used in various ways. Two common meanings of API that arise in this course:

  1. A collection of public methods and properties of some specific collection of classes/objects
  2. A publically available web service that can be used to exchange messages that retrieve or update information in another application.
    • Sometimes such services are called RESTful APIs, though this term has a very specific meaning that doesn’t really apply to all such APIs.
    • Examples: NOAA API, GitHub API, UCSB APIs
  3. The endpoints exposed in the backend of a web application that the front end communicates with (this is a special case of meaning 2 above.). These APIs can be documented and tested using Swagger.

Examples in course assignments

The assignment team01 from w22 deals with creating a backend only web-application that involves all three definitions of APIs:

  • Exposes an API (definition 3 above) that is specified in the assignment, and developed by the team.
  • Uses various public APIs (definition 2 above) to obtain the information that the backend makes available.
  • Makes uses of many features from the Java Platform, Spring Boot, and other libraries (defintion 1 above.)

Lists of APIs (definition 2)

These websites advertise lists of free/open APIs (no authentication/payment needed). These may be good bases for future assignments and/or project ideas:

Here are some other list of APIs that may be of interest (note that these are not necessarily free, and/or may require authentication)