COURSE OBJECTIVE:
Course Objectives This course aims to provide the delegate with the skills and knowledge necessary to design and build good quality REST APIs.
TARGET AUDIENCE:
Who will the Course Benefit? This course will benefit developers who are required to build or maintain REST services and/or clients,and anyone otherwise interested in what a REST API is,how it works,and how to build a good one.
COURSE PREREQUISITES:
Requirements Delegates attending this course should have some knowledge of,or experience in,software development. Ideally delegates will be comfortable coding in Java,Python,or JavaScript to a fundamental level. This knowledge can be gained by attendance on one of the following courses.
COURSE CONTENT:
REST APIs Training Course Course Contents – DAY 1 Course Introduction • Administration and Course Materials • Course Structure and Agenda • Delegate and Trainer Introductions Session 1: PREREQUISITES • APIs • Web apps • Web services • HTTP • JSON • Serialisation Session 2: REST THEORY • What is a REST API? • Guiding principles/constraints • Resources • Methods • Naming Session 3: REST SERVICES • Designing a REST API • Building a REST service with: • Spring Boot (Java) or; • Flask (Python) or; • Express (JavaScript) Session 4: REST CLIENTS • Off-the-shelf REST clients,e.g. Postman • Building a REST client with: • HttpClient (Java) or; • Requests (Python) or; • Axios (JavaScript) REST APIs Training Course Course Contents – DAY 2 Session 5: REST API CONFIGURATION • Caching • Compression • Content negotiation • HATEOAS • Idempotence • Security • Versioning • Statelessness • Documentation Session 6: MORE REST THEORY • The Richardson Maturity Model • Searching,sorting,and pagination • The n+1 problem • PUT vs. POST • Authentication techniques
FOLLOW ON COURSES:
Further Learning Core Spring (4 day) Python Programming 2 Developing Node.js Web Applications GraphQL