Fundamentals of RESTful API Design
The goal of this course is for the student to be familiar with APIs, the concept of API Design and what is essential to design of an API-based solution.
The course will be in English.
Perustiedot
- Kohderyhmä: Developers interested in RESTful API Design
- Hakuaika:
- Ajoitus:
- Laajuus: 5 ECTS
- Sijainti: Online
- Hinta: Free
Learning outcomes
Designing APIs for use over the web is a key part of most web development projects these days. Knowing the best way to design them with longevity, testability and reliability in mind is important. By explaining API Design stepsand API Design approaches, the student will be familiar with all these conceptsin a practical way. Then the student will be familiar with different API styles, and obtain a deeper level of knowledge about REST and its key difference and advantageous over the other styles. Finally, the student will understand security and performance concerns.
The student will pass this course after submitting required assignments, quizand projects.
Introduction to Contents
Introduction Part:
- What is an API?
- Why we are using APIs?
- What makes a business service good and practical?
- How to use an API?
- Clients using an API-based solution
- What does an API-based solution consists of?
- What is API Design?
- API Design Decisions
- API Design vs. API Architecture
Intermediate Part:
- API Description Languages
- Usage of API Description Languages
- Limitations of API Description Languages
- APIs responsibilities
- API properties
- Different API Styles (REST-SOAP-RPC-HATEOAS)
- REST vs. SOAP - REST Concept vs. HTTP Concept
Advanced Part:
- Richardson Maturity Model
- Content Negotiation
- Parameters
- HTTP Methods
- Input and Output Validation
- Building API Approaches
- Dealing with Backend Errors
Learning material:
- Tutorial Videos& slides
- Assignments
- Quiz
- Projects
Evaluation methods:
- Assignments 40%
- Quiz 20%
- Project 40%
Student's use of time and load
- Lectures = 25h
- Labs = 25h
- Assignments = 35h
- Self-study = 40h
- Quiz = 2h
- Project = 5h
- Total = 132 hours
Lisätietoja:
- Lassi Virtanen
- Lehtori
- Lassi.Virtanen@laurea.fi
- Puh 358504488100
- Niina Holmstedt
- Kehittämispäällikkö
- Niina.Holmstedt@laurea.fi
- Puh 0402162250