Learn to create well-designed, modular API definitions using RAML 1.0 and Anypoint Platform™.
Skills Gained
- 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.
Who Can Benefit
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™.
Prerequisites
Trailhead course: 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
Course Outline
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
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
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
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
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
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
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
Reusing patterns
- Create and reference resource types for reusability
- Use traits to modularize methods
- Use libraries for greater API composability
Securing and governing APIS
- Define API security requirements
- Use security schemes to apply resource-level and method-level policies
- Define custom security scheme for APIs
- Apply an OAuth 2.0 external provider policy to resource methods
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
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