Most API testing doesn't actually test the API. This course shows how to validate your API from the consumer's point of view, testing to confirm that problems experienced by your end users are being solved. Join Keith Casey as he focuses on how to approach API testing by implementing a behavior-driven development model. Keith uses Gherkin to set up a Behat environment so you can see how to write and run your first test. Then, he shows how to build API test requests, including how to introduce variables, authenticate requests, and validate responses. He also covers refactoring tests, establishing system states, using extensions for batch operations, and more.
Most people have heard of RESTful APIs, but the underlying concept—representational state transfer (REST)—still causes confusion. REST is all about modeling resources that change. RESTful APIs use REST architecture along with HTTP requests to transfer data and changes in application state between clients and servers. This course breaks down the principles of RESTful design and show how to build secure RESTful APIs on top of ASP.NET Core. Nate Barbettini answers questions such as: What is RESTful design? How do you perform RESTful routing? How can you build reusable classes to represent resources? What role does caching play? And how do you secure RESTful APIs? He also covers topics such as data modeling, hypermedia relationships, and authentication and authorization. By the end of the course, you should know the basics—how to properly request and return data in ASP.NET Core—and the best practices for building secure and scalable APIs to serve web clients, mobile clients, and beyond.
Topics include:
- What is RESTful design?
- Building a new API with ASP.NET Core
- Using HTTP methods
- Returning JSON
- Creating RESTful routing with templates
- Versioning
- Securing RESTful APIs with HTTPS
- Representing resources
- Representing links
- Representing collections
- Sorting and searching collections
- Building forms
- Adding caching to an ASP.NET Core API
- Configuring user authentication and authorization
Having a solid understanding of how to correctly build APIs is important for any developer planning on creating websites. In this course, learn how to plan and model your own APIs, and explore the six REST design constraints that help guide your architecture. Keith Casey starts with a simple overview, including advice on identifying the users or "participants" of your system, and the activities they might perform with it. He discusses how to validate your design before you build it, and explores the HTTP concepts and REST constraints needed to build your API. To wrap up, Keith goes over some of the most common API design patterns you may encounter.
Topics include:
- Approaches to adding an API
- Modeling tips
- Identifying activities and breaking them into steps
- Mapping activities to verbs and actions
- Creating and grouping API methods
- Validating your API
- HTTP headers and response codes
- Common design challenges
- Versioning best practices
- Hypermedia and documentation approaches
Knowing how to work efficiently and securely with APIs is crucial in software development. Learn RESTful APIs from the ground up as a new or experienced developer, filling in any foundational knowledge gaps around HTTP requests and how to validate an
API's behavior. If you are consuming, designing, or maintaining an API, this learning path is for you. Follow this path with tech-specific API courses of your choosing to apply your knowledge in practical project-based courses.
Learn the basics of REST APIs. In this course, discover what REST APIs are, why they matter, and how putting them to use can help you build faster, more efficient applications. Review how HTTP and REST APIs relate, explore the six constraints of REST, and learn about HTTP status messages. Learn how to get started with consuming REST APIs to incorporate them into data-driven applications.
Topics include:
- What is a REST API?
- Who or what interacts with REST APIs?
- Anatomy of a REST request
- HTTP status messages
- Request/response pairs
- GET, POST, and DELETE
Why use GraphQL over REST APIs? GraphQL is better at querying multiple databases, offers an easy-to-learn syntax, and allows you to retrieve only the data you need. Learn when you should migrate from REST to GraphQL, and how to convert your REST API add, update, and delete operations into GraphQL mutations. Instructor Emmanuel Henri also explains how to build simple, useful queries; use arguments, fragments, and aliases in queries; and perform operations using GraphQL.
Learning Objectives:
- Setting up GraphQL
- Creating the initial schema and type
- Setting up simple queries
- Leveraging arguments and aliases
- Reading, updating, adding, and deleting items with GraphQL
- Posting data with mutations
APIs are a crucial business driver for delivering data to your applications. In this course, learn about various options for securing your RESTful API that can help you keep your application data—and your users—safe. Instructor Emmanuel Henri begins the course with an overview of top security threats and an introduction to the Open Web Application Security Project (OWASP), an important resource on security. He then steps through how to set up and secure a Node and Express API, including how to add handlers for registration and login, finalize secured endpoints, and test your finalized API. To wrap up, he shares a few alternatives for securing APIs.
Topics include:
-
Open Web Application Security Project (OWASP)
- Reasons for using a JSON Web Token (JWT)
- Adding bcrypt password hashing
- Adding handlers for registration and login
- Finalizing secured endpoints
- Testing APIs with Postman
The ability to successfully build a RESTful web service is an essential skill in today's Internet-dominated industry. In this course, learn how to develop a RESTful client and server application using the Java Enterprise Edition implementation of the REST architectural style, JAX-RS API 2.0. This powerful and fully-featured API enshrines industry best practices as it integrates seamlessly with other essential APIs such as Bean Validation and JSON Processing.
Join Alex Theedom as he guides you through a wide range of topics, including how to define resource endpoints, how to add dynamism to your application with hypermedia, how to maintain data integrity with Bean Validation, and how to process messages with the JSON Processing API. Once you have completed this course, you'll be ready to develop your own client and server RESTful APIs.
Topics include:
- Discover the extent of JAX-RS's features
- Use the annotation methodology
- Use the inheritance methodology
- Define a REST contract and API root
- Create the REST resource entity
- Create the REST resource methods
- Understand consumers and producers
- Work with different media types
- Define and work with path parameters
- Build a REST response and handle exceptions
- Implement Bean Validation and manage failures
- Create a RESTful client that consumes the web service
- Use JSON-P API with the REST client
- Implement hypermedia (HATEOAS)