Anypoint Platform: API Design
This instructor-led 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. It includes a voucher to take the MuleSoft Certified Developer - API Design Associate exam.
A detailed setup document can be found here.
At the end of this course, students should be able to:
- Translate design requirements into API resources and methods.
- Use API Designer to create API definitions.
- Use RAML to define API resources, methods, parameters, and responses.
- Document and test APIs.
- Minimize repetition in API definitions using resource types and traits.
- Model data in APIs using data types.
- Modularize APIs using libraries, overlays, and extensions.
- Specify API security schemes.
PART 1: Designing APIs
- Describe the common web API formats including SOAP, RPC, and REST
- Describe REST API architecture
- List the rules for retaining REST principles in APIs
- Describe design-first approach for REST APIs
- Identify different categories and actions for a REST API
- Convert categories to resources
- Select HTTP methods to support the actions on the categories
- Describe the API development lifecycle
- Explain MuleSoft's API-led connectivity approach
- Navigate Anypoint Platform
- Describe the API design lifecycle with Anypoint Platform
PART 2: Defining APIs with the RESTful API Modeling Language (RAML)
- Use RAML 1.0 to create API definitions
- Define resources and methods in RAML API definitions
- Specify URI parameters for necessary resource methods
- Describe response structure in HTTP methods
- 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
- Add documentation and description nodes to RAML definitions
- Use the mocking service to create API endpoints
- Use the API Console to test API endpoints
- Create API Portals for learning about and testing APIs
- Customize API Portals with themes
- Publish API definitions to the Anypoint Exchange for discovery
- Gather feedback from API consumers
- Create datatypes and their properties for resources
- Create examples for datatypes
- Include datatypes and examples in resource methods
- Create scenarios in API Notebook to manipulate data using datatypes and examples
- Create and reference resource types patterns for reusability
- Use traits to modularize methods
- Use libraries for greater API composability
- Use overlays to internationalize resources
- Use extensions to promote portability to test APIs in multiple environments
- Define API security requirements
- Use security schemes to apply resource and method level policies
- Define custom security schemes for APIs
- Apply an OAuth2.0 external provider policy to resource methods
- Describe hypermedia
- Simplify API discoverability using hypermedia
- Use hypermedia to enhance API responses
- Modify API definitions to generate state-specific client responses in resource methods
- Explain when and when not to version APIs
- Describe the methods for versioning APIs
- Document changes in new API versions using shared API Portals
- Deprecate older versions of APIs