Courses and certifications Dev & Test
REST API Design
Price (without VAT)
Moving in today's world of mobile applications, Internet services, cloud solutions, microservices, and so on, you could not find the concept of REST APIs. They all use them, they all love them, they all have a strong opinion on what is and is not REST. This course will try to get you closer to what their magic is.
First, let's get to know what REST APIs are, where they came from, on which principles they are built. Then we will focus on practical aspects of design and development. We start from the very foundations and gradually work on more complicated issues such as authentication, versioning or security. We will design a simple API together and show how such simple APIs can provide unexpected problems and complications. We will also go through the next phase of the development cycle, testing, deployment and operation. Finally, we will show why it is important to look at APIs as a "first class" product.
- Backend developers
- Fullstack developers
- Software Architects
- IT Professionals
- The course is suitable for both beginners and advanced learners.
Participants also learn:
- Web Services Design Principles.
- Theoretical foundations of REST architecture.
- What is an API contract, "specification first" access.
- Proposal REST APIs Practical Approach, Best Practices.
- Authentication, security, versioning, error handling at REST API.
- Solving practical problems around design and development of web services.
- Comprehensive view of API as a product from design to operation.
- History of CORBA web services
- SOAP, ...
Generic principles for web service design
- API Contract
- Reusable, DX ("developer experience")
- Abstraction, encapsulation, "loose coupling"
- Consistency, convention
- Stateful vs. stateless
Introduction to REST
- What is it?
- Definitions by Roy Fielding
- Richardson Maturity Model
- Amundsen Maturity Model
- What is REST and why not?
- Resource model
- Data representation
- HTTP as a carrier protocol
- Hypermedia (HATEOAS)
- Basic principles
- Standards and error response formats
- Error processing from a client perspective
- Versioning is not "RESFful"
- Three "bad" versions of the game
- Evolution as an alternative to versioning
Authentication and Authorization
- Client vs. user authentication
- Traditional access to sessions
- "Basic auth" authentication
- OpenID Connect
- Přenos dat
- Ošetření vstupu
- Zpracování citlivých údajů
- Síťová bezpečnost
- HTTP options
- Caching strategy
- Basic problems
API contract and "specificationfirst" principle
- What is an API contract?
- Benefits of using the API specification
- Formats for the OAS API specification
- API Blueprint
Fundamentals of development
- IDE Developer Environment
- VCS, production / non-production environment
- Code style
- Standards and conventions
- Types of testing
- Functional "black box" testing
- Generated tests
- "Performance" testing
- Safety tests
Continuous integration / delivery
- Automation of development
- API gateway
- Monitoring and logging
API as a product
- Life cycle"
- agile "and Dev (Sec) Ops
- Client orientation prototypes, feedback
- Developer Experience (DX) API documentation, Sandbox, community
- Basic experience with designing and developing applications
- HTTP basics
- Knowledge of programming languages is an advantage
- Previous experience with designing and developing web services is an advantage