Course API Development

REST & JSON

API Basics Preview

REST design

REST models resources (things like courses, users) and exposes them as URLs with standard methods.

A resource design

GET    /api/courses            # list\nGET    /api/courses/12        # one\nPOST   /api/courses           # create\nPUT    /api/courses/12        # update\nDELETE /api/courses/12        # delete\nGET    /api/courses/12/lessons # related

Naming rules

  • Nouns, not verbs: /courses, not /getCourses
  • Plural for collections: /courses
  • Use the id in the path: /courses/12
  • Version your API: /api/v1/courses
  • Filter with query params: ?category=php&page=2

JSON

{\n  "id": 12,\n  "title": "PHP Fundamentals",\n  "price": 400.00,\n  "tags": ["backend", "php"],\n  "instructor": { "name": "Ama" }\n}

Query parameters

GET /api/courses?page=2&per_page=20\nGET /api/courses?q=php&sort=price_asc
Tip: Plural nouns, REST methods, JSON everywhere. Nail these three and your API will feel familiar to every consumer.

This is a free preview lesson

Enroll in the API Development to unlock every lesson, lesson PDF guides, quizzes and your certificate - and start creating your own pieces today.


Discussion