Registration for the instructor-led course
MuleSoft expert-led courses have a new home. Visit Trailhead Academy to learn more and register.
Summary
This course is for API designers, developers, and architects who want to get hands-on experience creating well-designed, modular API definitions using RAML 1.0 and Anypoint Platform™.
Get a datasheet for the course here.
Objectives
At the end of this course, students should be able to:
- Translate functional design requirements into API resources and methods.
- Use API Designer to create API specifications.
- Define API resources, methods, parameters, and responses using RAML.
- Model data in APIs using datatypes.
- Document and test APIs.
- Make APIs discoverable.
- Minimize repetition in APIs using resource types and traits.
- Modularize APIs using libraries, overlays, and extensions.
- Specify API security schemes.
- Enhance API responses using hypermedia.
- Version APIs.
Prerequisites
- Getting Started with Anypoint Platform
Setup requirements
- A computer with a minimum screen resolution of 1024x768
- Unrestricted internet access to port 80 (with > 5Mbps download and > 2Mbps upload)
- The latest version of Chrome, Safari, Firefox, or Edge
- An Anypoint Platform account
Get a detailed setup document here.
PART 1: Designing APIs
Module 1: Introducing RESTful API design |
- Review AnyPoint Platform as it pertains to API design
- Describe the architecture of REST APIs
- List the rules for enforcing REST principles in APIs
|
Module 2: Translating functional requirements for APIs |
- Identify different categories and actions for REST APIs
- Translate categories to resources
- Select HTTP methods to support the actions on the categories
|
PART 2: Defining APIs with the RESTful API Modeling Language (RAML)
Module 3: Defining API resources and methods |
- Describe API specification languages used to create API definitions
- Use API Designer to create RAML API definitions
- Define resources and methods in RAML API definitions
|
Module 4: Specifying responses to REST API calls |
- Create HTTP method responses
- Use status codes in HTTP responses
- Add error handling and caching information to HTTP responses
- Select and specify the types of content returned in HTTP responses
|
Module 5: Modeling data |
- Identify datatypes and attributes used in resource methods
- Create datatype fragments
- Set request and response body types to datatypes
- Create examples for datatype fragments
- Include examples in datatype fragments
|
Module 6: Documenting and testing APIs |
- Add documentation and description nodes to API definitions
- Use the mocking service to create API endpoints
- Use the API console to test API endpoints
|
Module 7: Making APIs discoverable |
- Publish API specifications and fragments to Anypoint Exchange for discovery
- Create API portals for learning about and testing APIs in Anypoint Exchange
- Customize public portals with themes
- Gather feedback from API consumers
|
Module 8: Reusing patterns |
- Create and reference resource types for reusability
- Use traits to modularize methods
- Use libraries for greater API composability
|
Module 9: Securing and governing APIs |
- Define API security requirements
- Use security schemes to apply resource-level and method-level policies
- Define custom security schemes for APIs
- Apply an OAuth2.0 external provider policy to resource methods
- Use API Governance to enforce security and conformance rules
|
Module 10: Enhancing API responses by using hypermedia |
- Describe hypermedia
- Simplify API discoverability and enhance responses using hypermedia
- Modify API definitions to generate state-specific client responses
|
Module 11: Versioning APIs |
- Explain when and when not to version APIs
- Describe the methods of versioning APIs
- Document changes in new API versions using API portals
- Deprecate old API versions
|